Method: Tap::App#exe

Defined in:
lib/tap/app.rb

#exe(task, input = []) ⇒ Object

Executes tasks by doing the following.

  • call stack with the task and input

  • call the task joins (task.joins)

Returns the stack result.



468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
# File 'lib/tap/app.rb', line 468

def exe(task, input=[])
  log("#{var(task)} <<", "#{input.inspect} (#{task.class})", Logger::DEBUG) if debug
  output = stack.call(task, input)
  log("#{var(task)} >>", "#{output.inspect} (#{task.class})", Logger::DEBUG) if debug
  
  if task.respond_to?(:joins)
    if joins = task.joins
      joins.each do |join|
        join.call(output)
      end
    end
  end
  
  output
end