Sha256: a8c9e956e2650c0d24c0fde47d67f7c4d44457e2170ec053faf8b378d1ad826a

Contents?: true

Size: 486 Bytes

Versions: 2

Compression:

Stored size: 486 Bytes

Contents

class Script::Engine
  def initialize
    @steps = []
    @shareables = {}
  end

  def steps
    @steps
  end

  def register_step(headline, block)
    @steps << Script::Step.new(headline, block)
  end

  def run
    @steps.each do |step|
      puts Script::Output.started(step)
      step.run(@shareables)
      puts Script::Output.result(step)

      abort_run if step.result == :failed
    end
  end

  def abort_run
    # TODO: Print the result per steps table
    abort
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
script-1.0.0 lib/script/engine.rb
script-0.0.4 lib/script/engine.rb