Sha256: 521d5707d281f0784c96d6c950e17e2ef7dc41f9a92132cf5edb8cd65620a0bb

Contents?: true

Size: 826 Bytes

Versions: 5

Compression:

Stored size: 826 Bytes

Contents

module Wukong
  module DocHelpers

    # Handles the Wukong.dataflow syntax.
    class DataflowHandler < YARD::Handlers::Ruby::ClassHandler

      handles method_call(:dataflow)

      # :nodoc:
      def base_dataflow_class
        @base_dataflow_class ||= YARD::CodeObjects::ClassObject.new(namespace, "Wukong::Dataflow")
      end

      # :nodoc:
      def process
        dataflow_name  = statement.parameters.first.jump(:tstring_content, :ident).source
        class_name     = Gorillib::Inflector.camelize(dataflow_name)
        dataflow_class = create_class(class_name, base_dataflow_class)
        dataflow_body  = statement.last.last

        push_state(:owner => dataflow_class, :scope => :class, :namespace => dataflow_class) do
          parse_block(dataflow_body)
        end
      end
      
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
ul-wukong-4.1.1 lib/wukong/doc_helpers/dataflow_handler.rb
ul-wukong-4.1.0 lib/wukong/doc_helpers/dataflow_handler.rb
wukong-4.0.0 lib/wukong/doc_helpers/dataflow_handler.rb
wukong-3.0.1 lib/wukong/doc_helpers/dataflow_handler.rb
wukong-3.0.0 lib/wukong/doc_helpers/dataflow_handler.rb