Class: RakeFly::Tasks::SetPipeline

Inherits:
RakeFly::TaskLib show all
Defined in:
lib/rake_fly/tasks/set_pipeline.rb

Instance Method Summary collapse

Methods inherited from RakeFly::TaskLib

#check_required, check_required_for, #initialize, parameter, parameter_definitions, #process_block, #setup_defaults, setup_defaults_for

Constructor Details

This class inherits a constructor from RakeFly::TaskLib

Instance Method Details

#defineObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/rake_fly/tasks/set_pipeline.rb', line 24

def define
  desc "Set pipeline #{pipeline} for target #{target}"
  task name, argument_names => [ensure_task] do |_, args|
    derived_target = target.respond_to?(:call) ?
                         target.call(*[args].slice(0, target.arity)) :
                         target
    derived_pipeline = pipeline.respond_to?(:call) ?
                           pipeline.call(*[args].slice(0, pipeline.arity)) :
                           pipeline
    derived_config = config.respond_to?(:call) ?
                           config.call(*[args].slice(0, config.arity)) :
                           config
    derived_vars = vars.respond_to?(:call) ?
                       vars.call(*[args].slice(0, vars.arity)) :
                       vars
    derived_var_files = var_files.respond_to?(:call) ?
                       var_files.call(*[args].slice(0, var_files.arity)) :
                       var_files

    puts "Setting pipeline #{pipeline} for target #{target}..."
    RubyFly.set_pipeline(
        target: derived_target,
        pipeline: derived_pipeline,
        config: derived_config,
        vars: derived_vars,
        var_files: derived_var_files,
        non_interactive: non_interactive)
  end
end

#process_arguments(args) ⇒ Object



20
21
22
# File 'lib/rake_fly/tasks/set_pipeline.rb', line 20

def process_arguments(args)
  self.name = args[0] if args[0]
end