Sha256: fe9e26dafc10067965d95dd4548ac9966e173ae48b5bd55705e0b0f92965cc06
Contents?: true
Size: 1.93 KB
Versions: 5
Compression:
Stored size: 1.93 KB
Contents
require 'json' require 'bolt/result' module Bolt class Node class ResultOutput attr_reader :stdout, :stderr def initialize @stdout = StringIO.new @stderr = StringIO.new end end class Result attr_reader :output def initialize(output) @output = output end def output_string str = StringIO.new print_to_stream(str) str.string end def to_result Bolt::Result.new end def to_command_result Bolt::CommandResult.new(output.stdout.string, output.stderr.string, exit_code) end def exit_code 0 end end class Success < Result attr_reader :value def initialize(value = '', output = nil) super(output) @value = value end def success? true end def then yield @value end def to_task_result Bolt::TaskSuccess.new(output.stdout.string, output.stderr.string, exit_code) end end class Failure < Result attr_reader :exit_code def initialize(exit_code, output) super(output) @exit_code = exit_code end def success? false end def then self end def to_task_result Bolt::TaskFailure.new(output.stdout.string, output.stderr.string, exit_code) end end class ExceptionFailure < Failure attr_reader :exception def initialize(exception) super(1, nil) @exception = exception end def to_result Bolt::ExceptionResult.new(@exception) end def to_task_result to_result end def to_command_result to_result end end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
bolt-0.7.0 | lib/bolt/node/result.rb |
bolt-0.6.1 | lib/bolt/node/result.rb |
bolt-0.6.0 | lib/bolt/node/result.rb |
bolt-0.5.1 | lib/bolt/node/result.rb |
bolt-0.5.0 | lib/bolt/node/result.rb |