Module: RakeFactory::Configurable
Class Method Summary collapse
Instance Method Summary collapse
- #initialize(*args, &configuration_block) ⇒ Object
- #invoke_configuration_block_on(target, args) ⇒ Object
- #process_configuration_block(configuration_block) ⇒ Object
Class Method Details
.included(base) ⇒ Object
5 6 7 8 9 |
# File 'lib/rake_factory/configurable.rb', line 5 def self.included(base) base.class_eval do attr_accessor(:configuration_block) end end |
Instance Method Details
#initialize(*args, &configuration_block) ⇒ Object
11 12 13 14 15 |
# File 'lib/rake_factory/configurable.rb', line 11 def initialize(*args, &configuration_block) arity = method(:initialize).super_method.arity super(*args.slice(0, arity), &configuration_block) process_configuration_block(configuration_block) end |
#invoke_configuration_block_on(target, args) ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'lib/rake_factory/configurable.rb', line 21 def invoke_configuration_block_on(target, args) return unless configuration_block params = args ? [target, args] : [target] configuration_block.call( *params.slice(0, configuration_block.arity) ) end |
#process_configuration_block(configuration_block) ⇒ Object
17 18 19 |
# File 'lib/rake_factory/configurable.rb', line 17 def process_configuration_block(configuration_block) set_if_value_present(:configuration_block, configuration_block) end |