MetaTags 1.0
============

MetaTags is a rather simple ruby module.  Its goal is the ability to
easily define and produce sets of tagged metadata in the code.  The
code can then examine this metadata and use it as necessary.

Two full tag sets are provided: one for class info (such as the
class name, a description, and attributes), and one for method info
(such as method name, title, category, description, parameters,
etc.).

While inline documetation systems have a goal of parsing
documentation and providing human-readable output, the goal of
MetaTags is to produce documentation that is readable by the code
itself.  The result of this could also be used to provide nice
human-readable documentation, as well.

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

You can find MetaTags at the following location:

    http://mephle.org/MetaTags/

-- 
Ryan Pavlik <rpav / mephle.com>