Ryan Pavlik wrote:

> Here is an example:
> 
>     class_info <<-DOC
>       !Class: MyClass
>       !Desc:  This class does something
>     
>       !attr a: A: The "A" attribute
>       !attr b: B
>     DOC
>     class MyClass
>       attr_accessor :a
>       attr_reader   :b
>     
>       method_info <<-DOC
>         !Method:   initialize
>         !Title:    Initialize
>         !Category: constructors
>     
>         !Desc: Create a new MyClass object giving optional defaults
>                for "a" and "b".
>     
>         !Parameters:
>            * a: A: The "a" object; defaults to 5
>            * b: B
>     
>         !param_flag b: width=80
>       DOC
>       def initialize(a, b)
>         :
>       end
>     
>       :
>     end

Ryan, for what it's worth, I like this pretty much how it works right 
now.  If I were to change anything it would be:

Make it so "!" is re-definable and ignore any text that appears before 
it.  This could be used as a generic source code parser which extracts 
documentation, etc. from the source code (by parsing anything after a 
comment character + a semaphor).  As a stand-alone library, that could 
have lots of other uses.

	Sean O'Dell