# 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