class Cutlass::BashResult

Value object containing the results of bash commands

result = BashResult.run(“echo 'lol') result.stdout # => ”lol“ result.status # => 0 result.success? # => true

Attributes

status[R]

@return [Numeric]

stderr[R]

@return [String]

stdout[R]

@return [String]

Public Class Methods

new(stdout:, stderr:, status:) click to toggle source

@param stdout [String] @param stderr [String] @param status [Numeric]

# File lib/cutlass/bash_result.rb, line 28
def initialize(stdout:, stderr:, status:)
  @stdout = stdout
  @stderr = stderr
  @status = status.respond_to?(:exitstatus) ? status.exitstatus : status.to_i
end
run(command) click to toggle source
# File lib/cutlass/bash_result.rb, line 11
def self.run(command)
  stdout, stderr, status = Open3.capture3(command)
  BashResult.new(stdout: stdout, stderr: stderr, status: status)
end

Public Instance Methods

failed?() click to toggle source
# File lib/cutlass/bash_result.rb, line 39
def failed?
  !success?
end
include?(value) click to toggle source

Testing helper methods

# File lib/cutlass/bash_result.rb, line 44
def include?(value)
  stdout.include?(value)
end
match(value) click to toggle source
# File lib/cutlass/bash_result.rb, line 52
def match(value)
  stdout.match(value)
end
match?(value) click to toggle source
# File lib/cutlass/bash_result.rb, line 48
def match?(value)
  stdout.match?(value)
end
success?() click to toggle source

@return [Boolean]

# File lib/cutlass/bash_result.rb, line 35
def success?
  @status == 0
end