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
Returns a new instance of DynamicValue.
26 27 28 29 30 |
# File 'lib/rake_factory/values.rb', line 26 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
38 39 40 41 42 |
# File 'lib/rake_factory/values.rb', line 38 def append_argument(argument) self.class.new( @pre_arguments, [*@post_arguments, argument], &@block ) end |
#evaluate(arguments) ⇒ Object
44 45 46 47 |
# File 'lib/rake_factory/values.rb', line 44 def evaluate(arguments) resolved_arguments = [*@pre_arguments, *arguments, *@post_arguments] @block.call(*resolved_arguments.slice(0, @block.arity)) end |
#prepend_argument(argument) ⇒ Object
32 33 34 35 36 |
# File 'lib/rake_factory/values.rb', line 32 def prepend_argument(argument) self.class.new( [argument, *@pre_arguments], @post_arguments, &@block ) end |