class Anvil::Task

Common class for all tasks

Attributes

options[R]

Public Class Methods

new(options = {}) click to toggle source
# File lib/anvil/task.rb, line 17
def initialize(options = {})
  @options = options
end

Public Instance Methods

logger() click to toggle source
# File lib/anvil/task.rb, line 33
def logger
  Anvil.logger
end
run() click to toggle source

Runs a task and its callbacks if the assures are OK

@return [Object, nil] anything the task might return

# File lib/anvil/task.rb, line 24
def run
  return unless run_assures
  run_before_callbacks
  task_return_value = run_task
  run_after_callbacks

  task_return_value
end

Protected Instance Methods

run_after_callbacks() click to toggle source
# File lib/anvil/task.rb, line 39
def run_after_callbacks
  self.class.afters.each { |callback| callback.run }
end
run_assures() click to toggle source
# File lib/anvil/task.rb, line 43
def run_assures
  self.class.assures.map { |a| a.new.assured? }.all?
end
run_before_callbacks() click to toggle source
# File lib/anvil/task.rb, line 47
def run_before_callbacks
  self.class.befores.each { |callback| callback.run }
end
run_task() click to toggle source
# File lib/anvil/task.rb, line 51
def run_task
  task
end