class SideBoom::Job

Attributes

name[R]
stage[R]

Public Class Methods

new(name) click to toggle source
# File lib/side_boom/job.rb, line 9
def initialize(name)
  @name = name
  @stage = SideBoom::Context.peek
end

Public Instance Methods

to_hash() click to toggle source
# File lib/side_boom/job.rb, line 14
def to_hash
  attrs = stage.merged_attributes.merge(attributes)
  attrs['stage'] = stage.name

  duplicated_values(attrs)
end

Private Instance Methods

duplicated_values(dup_hash) click to toggle source

Avoid YAML to use inherritence, so output remains readable

# File lib/side_boom/job.rb, line 24
def duplicated_values(dup_hash)
  dup_hash.each_with_object({}) do |(key, value), hash|
    hash[key] = begin
                  value.dup
                rescue TypeError # The unduppables
                  value
                end
  end
end