Sha256: 0158f4043152d90c0759fd56928072e00897f85267faa1f91d02acb50ce66749
Contents?: true
Size: 1.25 KB
Versions: 1
Compression:
Stored size: 1.25 KB
Contents
module PredragsDummyPipelines class Exec attr_reader :name attr_reader :cmd attr_reader :test def initialize(actions, name) @name = name @cmd = actions["cmd"] || [] @test = actions["test"] || [] @cmd_results = [] @test_results = [] end def run run_cmd(@cmd, @cmd_results, true) return if not success_impl(@cmd_results) run_cmd(@test, @test_results, false) end def show [{exec_name: @name}, @cmd_results, @test_results] end def results {:cmd => @cmd_results, :test => @test_results, name: @name} end def success? success_impl(@cmd_results) and success_impl(@test_results) end def success_impl(results) return true if (results == []) results.map {|cmd| cmd[:estatus]}.all? {|status| status == 0} end private 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 end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
predrags_dummy_pipelines-0.8.5 | lib/predrags_dummy_pipelines/exec.rb |