Module: RakeFactory::Configurable

Included in:
Task, TaskSet
Defined in:
lib/rake_factory/configurable.rb

Class Method Summary collapse

Instance Method Summary collapse

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