Sha256: 68dfc21a2babbf0d38fbb364010456ca51665a92a2097bc3cf88d3facfb6fcce

Contents?: true

Size: 767 Bytes

Versions: 25

Compression:

Stored size: 767 Bytes

Contents

# frozen_string_literal: true

require "forwardable"

module Buildkite
  module Pipelines
    module Steps
      class Abstract
        extend Forwardable
        include Attributes

        def_delegator :@context, :data

        attr_reader :template
        attr_reader :step_collection

        def self.to_sym
          name.split('::').last.downcase.to_sym
        end

        def initialize(step_collection, template_name, **args, &block)
          @step_collection = step_collection
          @template = step_collection.templates.find(template_name)
          @context = StepContext.new(self, **args)

          instance_exec(@context, &template) if template
          instance_exec(@context, &block) if block_given?
        end
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
buildkite-builder-2.0.0 lib/buildkite/pipelines/steps/abstract.rb
buildkite-builder-2.0.0.beta4 lib/buildkite/pipelines/steps/abstract.rb
buildkite-builder-2.0.0.beta3 lib/buildkite/pipelines/steps/abstract.rb
buildkite-builder-2.0.0.beta2 lib/buildkite/pipelines/steps/abstract.rb
buildkite-builder-2.0.0.beta1 lib/buildkite/pipelines/steps/abstract.rb