5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/arrayfu/generate_mutators.rb', line 5
def create_using(builder)
Module.new do
builder.each_mutator do |mutator|
define_method(mutator.name) do|value|
array_var = instance_variable_get(builder.variable_name)
continue_add = true
builder.each_constraint do |constraint|
continue_add &= constraint.apply_to(value)
end
return unless continue_add
if mutator.block
mutator.run(self, value)
else
array_var.push(value)
end
end
end
end
end
|