class Pipedawg::Job

job class

Attributes

name[RW]
opts[RW]

Public Class Methods

new(name = 'build', opts = {}) click to toggle source
# File lib/pipedawg/job.rb, line 8
def initialize(name = 'build', opts = {}) # rubocop:disable Metrics/MethodLength
  @name = name
  @opts = {
    artifacts: {},
    cache: {},
    debug: true,
    image: { name: 'ruby:2.5' },
    needs: [],
    retry: nil,
    rules: nil,
    script: [],
    stage: 'build',
    tags: [],
    variables: nil
  }.merge(opts)
end

Public Instance Methods

to_hash() click to toggle source
# File lib/pipedawg/job.rb, line 25
def to_hash
  keys = %i[artifacts cache image needs retry rules script stage tags variables]
  { "#{name}": opts.slice(*keys).compact }
end

Private Instance Methods

debug() click to toggle source
# File lib/pipedawg/job.rb, line 32
def debug
  if opts[:debug]
    Pipedawg::Util.echo_proxy_vars
  else
    []
  end
end