class Bcome::Command::Local
Attributes
process_status[R]
stderr[R]
stdout[R]
Public Class Methods
new(command, success_exit_codes = [0])
click to toggle source
# File lib/objects/command/local.rb, line 15 def initialize(command, success_exit_codes = [0]) @command = command @success_exit_codes = success_exit_codes end
run(raw_command, _success_exit_codes = [0])
click to toggle source
# File lib/objects/command/local.rb, line 7 def self.run(raw_command, _success_exit_codes = [0]) command = new(raw_command) command.syscall command end
Public Instance Methods
exit_code()
click to toggle source
# File lib/objects/command/local.rb, line 26 def exit_code @process_status ? @process_status.exitstatus : 1 end
failed?()
click to toggle source
# File lib/objects/command/local.rb, line 34 def failed? !is_success? end
is_success?()
click to toggle source
# File lib/objects/command/local.rb, line 30 def is_success? @success_exit_codes.include?(exit_code) end
pretty_result()
click to toggle source
# File lib/objects/command/local.rb, line 38 def pretty_result is_success? ? "success / exit code: #{exit_code}".success : "failure / exit code: #{exit_code}".error end
syscall()
click to toggle source
# File lib/objects/command/local.rb, line 20 def syscall @stdout, @stderr, @process_status = Open3.capture3(@command) rescue Exception => e @stderr = e.message end