class Burner::Step

A wrapper to execute a job (in the context of a Pipeline.)

Constants

SEPARATOR

Attributes

job[R]

Public Class Methods

new(job) click to toggle source
# File lib/burner/step.rb, line 23
def initialize(job)
  raise ArgumentError, 'job is required' unless job

  @job = job

  freeze
end

Public Instance Methods

perform(output, payload) click to toggle source
# File lib/burner/step.rb, line 31
def perform(output, payload)
  output.title("#{job.class.name}#{SEPARATOR}#{job.name}")

  time_in_seconds = Benchmark.measure do
    job.perform(output, payload)
  end.real.round(3)

  output.complete(time_in_seconds)
end