Sha256: bf123ba628868a2b7fd88796ed0f9a3b6ad9d6ca60460361cc318be54d9d3379

Contents?: true

Size: 875 Bytes

Versions: 35

Compression:

Stored size: 875 Bytes

Contents

class ConfigOptionHandler < YARD::Handlers::Ruby::Base
    handles method_call(:config_option)
    namespace_only

    def process

        name = statement.parameters.first.jump(:tsymbol_content, :ident).source
        object = YARD::CodeObjects::MethodObject.new(namespace, name)

        param_size = statement.parameters.size
        default = statement.parameters[ param_size - 2 ]

        object.parameters = [['default',default.source]]

        # modify the object
        object.dynamic = true

        register(object)
        unless object.docstring.has_tag?(:return)
            object.docstring.add_tag YARD::Tags::Tag.new( :return, "defaults to #{default.source}", [ default.type.to_s.sub(/_.*$/,'').capitalize ])
        end
    end
    def get_tag(tag, text, return_classes = [])
        YARD::Tags::Tag.new(tag, text, [return_classes].flatten)
    end

end

Version data entries

35 entries across 35 versions & 3 rubygems

Version Path
hippo-fw-0.9.9 yard_ext/config_options.rb
hippo-fw-0.9.8 yard_ext/config_options.rb
hippo-fw-0.9.7 yard_ext/config_options.rb
hippo-fw-0.9.6 yard_ext/config_options.rb
hippo-fw-0.9.5 yard_ext/config_options.rb
hippo-fw-0.9.4 yard_ext/config_options.rb
hippo-fw-0.9.3 yard_ext/config_options.rb
hippo-fw-0.9.2 yard_ext/config_options.rb
hippo-fw-0.9.1 yard_ext/config_options.rb
lanes-0.8.3 yard_ext/config_options.rb
lanes-0.8.2 yard_ext/config_options.rb
lanes-0.8.1 yard_ext/config_options.rb
lanes-0.8.0 yard_ext/config_options.rb
lanes-0.7.0 yard_ext/config_options.rb
lanes-0.6.1 yard_ext/config_options.rb
lanes-0.6.0 yard_ext/config_options.rb
lanes-0.5.6 yard_ext/config_options.rb
lanes-0.5.5 yard_ext/config_options.rb
lanes-0.5.0 yard_ext/config_options.rb
lanes-0.4.0 yard_ext/config_options.rb