Class: Roby::YARD::ArgumentHandler

Inherits:
YARD::Handlers::Ruby::Base
  • Object
show all
Defined in:
lib/roby/yard.rb

Instance Method Summary collapse

Instance Method Details

#processObject



102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# File 'lib/roby/yard.rb', line 102

def process
    name = statement.parameters[0].jump(:tstring_content, :ident).source

    default = nil
    if statement.parameters[1]
        statement.parameters[1].jump(:assoc).to_a.each_slice(2) do |key, value|
            if key.source == "default:"
                default = value.source
            end
        end
    end

    writer = YARD::CodeObjects::MethodObject.new(namespace, "#{name}=")
    register(writer)
    register_group(writer, "Task Arguments")

    reader = YARD::CodeObjects::MethodObject.new(namespace, name)
    register(reader)
    register_group(reader, "Task Arguments")
    reader.docstring = "Default: #{default}" if default && reader.docstring.blank?(false)
end