Class: Wukong::DocHelpers::ProcessorHandler

Inherits:
YARD::Handlers::Ruby::ClassHandler
  • Object
show all
Defined in:
lib/wukong/doc_helpers/processor_handler.rb

Overview

Handles the Wukong.processor syntax.

Instance Method Summary collapse

Instance Method Details

#base_processor_classObject

:nodoc:



10
11
12
# File 'lib/wukong/doc_helpers/processor_handler.rb', line 10

def base_processor_class
  @base_processor_class ||= YARD::CodeObjects::ClassObject.new(namespace, "Wukong::Processor")
end

#processObject

:nodoc:



15
16
17
18
19
20
21
22
23
24
# File 'lib/wukong/doc_helpers/processor_handler.rb', line 15

def process
  processor_name  = statement.parameters.first.jump(:tstring_content, :ident).source
  class_name      = Gorillib::Inflector.camelize(processor_name)
  processor_class = create_class(class_name, base_processor_class)
  processor_body  = statement.last.last
  
  push_state(:owner => processor_class, :scope => :class, :namespace => processor_class) do
    parse_block(processor_body)
  end
end