class PredragsDummyPipelines::Exec

Attributes

cmd[R]
name[R]
test[R]

Public Class Methods

new(actions, name) click to toggle source
# File lib/predrags_dummy_pipelines/exec.rb, line 8
def initialize(actions, name)
  @name = name
  @cmd  = actions["cmd"]  || []
  @test = actions["test"] || []
  @cmd_results = []
  @test_results = []
end

Public Instance Methods

results() click to toggle source
# File lib/predrags_dummy_pipelines/exec.rb, line 26
def results
  {:cmd => @cmd_results, :test => @test_results, name: @name}
end
run() click to toggle source
# File lib/predrags_dummy_pipelines/exec.rb, line 16
def run
  run_cmd(@cmd, @cmd_results, true)
  return if not success_impl(@cmd_results)
  run_cmd(@test, @test_results, false)
end
show() click to toggle source
# File lib/predrags_dummy_pipelines/exec.rb, line 22
def show
  [{exec_name: @name}, @cmd_results, @test_results]
end
success?() click to toggle source
# File lib/predrags_dummy_pipelines/exec.rb, line 30
def success?
  success_impl(@cmd_results) and success_impl(@test_results)
end
success_impl(results) click to toggle source
# File lib/predrags_dummy_pipelines/exec.rb, line 34
def success_impl(results)
  return true if (results == [])
  results.map {|cmd| cmd[:estatus]}.all? {|status| status == 0}
end

Private Instance Methods

run_cmd(commands, results, should_break) click to toggle source
# File lib/predrags_dummy_pipelines/exec.rb, line 41
def run_cmd(commands, results, should_break)
  commands.each {|c|
    begin
      results << {:input => c, :output => %x[#{c}] || "", :estatus => $?.exitstatus}
      break if should_break and $?.exitstatus != 0
    rescue => e
      results << {:input => c, :output => e.inspect, :estatus => $?.exitstatus}
      break if should_break
    end
  }
  @results
end