class RakeFactory::TaskSet::TaskDefinition
Attributes
args[R]
block[R]
klass[R]
task_set[R]
Public Class Methods
new(klass, args, task_set, &block)
click to toggle source
# File lib/rake_factory/task_set.rb, line 103 def initialize(klass, args, task_set, &block) @task_set = task_set @klass = klass @args = args @block = block end
Public Instance Methods
define_on(application)
click to toggle source
# File lib/rake_factory/task_set.rb, line 110 def define_on(application) if should_define? klass.new(*resolve_arguments, &resolve_block).define_on(application) end end
Private Instance Methods
resolve_arguments()
click to toggle source
# File lib/rake_factory/task_set.rb, line 128 def resolve_arguments task_arguments.resolve end
resolve_block()
click to toggle source
# File lib/rake_factory/task_set.rb, line 132 def resolve_block lambda do |t, args| if block.respond_to?(:call) block.call(*[task_set, t, args].slice(0, block.arity)) end if task_set.configuration_block.respond_to?(:call) view = ParameterView.new(t, t.class, task_set.class, args) task_set.invoke_configuration_block_on(view, args) end end end
should_define?()
click to toggle source
# File lib/rake_factory/task_set.rb, line 122 def should_define? task_arguments.parameter_hash.include?(:define_if) ? task_arguments.parameter_hash[:define_if].call(task_set) : true end
task_arguments()
click to toggle source
# File lib/rake_factory/task_set.rb, line 118 def task_arguments TaskArguments.new(args, task_set) end