Module | Anise::Annotative::Methods |
In: |
lib/anise/annotative/methods.rb
|
The Annotator::Method module allows for the creation of annotations which attach to the next method defined.
This idiom of annotation-before-definition was popularized by Rake‘s `desc`/`task` pair. This module can be used to add similar capabilites to any class or module.
class X extend Anise::Annotative::Methods def self.doc(string) method_annotation(:doc => string) end doc "See what I mean?" def see puts "Yes, I see!" end end X.ann(:see, :doc) #=> "See what I mean?"
One can get a bit more control over the creation of annotations by using a block. In this case it is up the code to actually create the annotation.
def self.doc(string) method_annotation do |meth| ann meth, :doc => string end end
Note that the library uses the method_added callback, so be sure to respect good practices of calling super if you need to override this method.
When a method is added, run all pending annotations.
@param [Symbol] sym
The name of the method added.