Sha256: 9a4bb21612c37285851e16b8cda1b5b95f6e40da99505b45e8566b376ff50684

Contents?: true

Size: 527 Bytes

Versions: 4

Compression:

Stored size: 527 Bytes

Contents

require 'contracts'
require_relative 'support/source'
require_relative 'support/debugging'
require_relative 'support/validation'

module Fuselage
  class Step
    include ::Contracts::Core
    include ::Contracts::Builtin
    include Support::Source
    include Support::Debugging
    include Support::Validation

    def output
      fail NotImplementedError
    end

    def run
      validated(output)
        .tap { |string| STDOUT.puts string }
        .tap { |string| STDERR.puts string if debugging? }
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
concourse-fuselage-0.5.8 lib/concourse-fuselage/step.rb
concourse-fuselage-0.5.7 lib/concourse-fuselage/step.rb
concourse-fuselage-0.5.2 lib/concourse-fuselage/step.rb
concourse-fuselage-0.5.1 lib/concourse-fuselage/step.rb