Module: RakeFactory::Configurable
Class Method Summary collapse
Instance Method Summary collapse
- #initialize(*args, &configuration_block) ⇒ Object
- #invoke_configuration_block(args = nil) ⇒ Object
- #process_configuration_block(configuration_block) ⇒ Object
Class Method Details
.included(base) ⇒ Object
3 4 5 6 7 |
# File 'lib/rake_factory/configurable.rb', line 3 def self.included(base) base.class_eval do attr_accessor(:configuration_block) end end |
Instance Method Details
#initialize(*args, &configuration_block) ⇒ Object
9 10 11 12 13 |
# File 'lib/rake_factory/configurable.rb', line 9 def initialize(*args, &configuration_block) arity = self.method(:initialize).super_method.arity super(*args.slice(0, arity), &configuration_block) process_configuration_block(configuration_block) end |
#invoke_configuration_block(args = nil) ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/rake_factory/configurable.rb', line 19 def invoke_configuration_block(args=nil) if configuration_block view = ParameterView.new(self, args) params = args ? [view, args] : [view] configuration_block.call( *params.slice(0, configuration_block.arity)) end end |
#process_configuration_block(configuration_block) ⇒ Object
15 16 17 |
# File 'lib/rake_factory/configurable.rb', line 15 def process_configuration_block(configuration_block) set_if_value_present(:configuration_block, configuration_block) end |