# File lib/yard/tags/library.rb, line 198 def define_directive(tag, tag_meth = nil, directive_class = nil) directive_meth = directive_method_name(tag) if directive_class.nil? tag_meth, directive_class = nil, tag_meth end class_eval "def \#{directive_meth}(tag, parser)\ndirective_call(tag, parser)\nend\n", __FILE__, __LINE__ @factory_methods ||= SymbolHash.new(false) @factory_methods.update(tag => tag_meth) @directive_factory_classes ||= SymbolHash.new(false) @directive_factory_classes.update(tag => directive_class) tag end