61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# File 'lib/musa-dsl/neumalang/neumalang.rb', line 61
def value
value_parameters = []
key_value_parameters = {}
captures(:parameter).each do |pp|
p = pp.value
if p.has_key? :key_value
key_value_parameters.merge! p[:key_value]
else
value_parameters << p[:value]
end
end
{}.tap do |_|
_[:value_parameters] = value_parameters unless value_parameters.empty?
_[:key_parameters] = key_value_parameters unless key_value_parameters.empty?
_[:proc_parameter] = capture(:codeblock).value if capture(:codeblock)
end
end
|