7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/pure/parser/impl/internal.rb', line 7
def (mod, method_name, file, line)
if method_name == :__fun
Hash.new
else
parameters = mod.instance_method(method_name).parameters.reject {
|type, name|
type == :block
}
args = parameters.map { |type, name|
name
}
types = parameters.inject(Hash.new) { |acc, (type, name)|
acc.merge!(type => true)
}
{
:name => method_name,
:args => args,
:splat => types[:rest],
:default => types[:opt],
}
end.merge(:file => file, :line => line)
end
|