Class: RakeFactory::DynamicValue
- Inherits:
-
Object
- Object
- RakeFactory::DynamicValue
- Defined in:
- lib/rake_factory/values.rb
Instance Method Summary collapse
- #append_argument(argument) ⇒ Object
- #evaluate(arguments) ⇒ Object
-
#initialize(pre_arguments = [], post_arguments = [], &block) ⇒ DynamicValue
constructor
A new instance of DynamicValue.
- #prepend_argument(argument) ⇒ Object
Constructor Details
#initialize(pre_arguments = [], post_arguments = [], &block) ⇒ DynamicValue
24 25 26 27 28 |
# File 'lib/rake_factory/values.rb', line 24 def initialize(pre_arguments = [], post_arguments = [], &block) @block = block @pre_arguments = pre_arguments @post_arguments = post_arguments end |
Instance Method Details
#append_argument(argument) ⇒ Object
34 35 36 |
# File 'lib/rake_factory/values.rb', line 34 def append_argument(argument) self.class.new(@pre_arguments, [*@post_arguments, argument], &@block) end |
#evaluate(arguments) ⇒ Object
38 39 40 41 |
# File 'lib/rake_factory/values.rb', line 38 def evaluate(arguments) resolved_arguments = [*@pre_arguments, *arguments, *@post_arguments] @block.call(*resolved_arguments.slice(0, @block.arity)) end |
#prepend_argument(argument) ⇒ Object
30 31 32 |
# File 'lib/rake_factory/values.rb', line 30 def prepend_argument(argument) self.class.new([argument, *@pre_arguments], @post_arguments, &@block) end |