class Bricolage::JobResult

Constants

EXIT_ERROR
EXIT_FAILURE
EXIT_SUCCESS

Attributes

exception[R]
process_status[R]

Public Class Methods

error(ex) click to toggle source
# File lib/bricolage/jobresult.rb, line 14
def JobResult.error(ex)
  new(:error, exception: ex)
end
failure(ex) click to toggle source
# File lib/bricolage/jobresult.rb, line 10
def JobResult.failure(ex)
  new(:failiure, exception: ex)
end
for_bool(is_success, msg = nil) click to toggle source
# File lib/bricolage/jobresult.rb, line 18
def JobResult.for_bool(is_success, msg = nil)
  new((is_success ? :success : :failure), message: msg)
end
for_process_status(st, msg = nil) click to toggle source
# File lib/bricolage/jobresult.rb, line 22
def JobResult.for_process_status(st, msg = nil)
  new((st.success? ? :success : :failure), process_status: st, message: msg)
end
new(type, exception: nil, process_status: nil, message: nil) click to toggle source
# File lib/bricolage/jobresult.rb, line 30
def initialize(type, exception: nil, process_status: nil, message: nil)
  @type = type
  @exception = exception
  @process_status = process_status
  @message = message
end
success() click to toggle source
# File lib/bricolage/jobresult.rb, line 6
def JobResult.success
  new(:success)
end

Public Instance Methods

message() click to toggle source
# File lib/bricolage/jobresult.rb, line 64
def message
  if @message
    @message
  elsif @exception
    @exception.message
  else
    success? ? 'suceeded' : 'failed'
  end
end
status() click to toggle source
# File lib/bricolage/jobresult.rb, line 48
def status
  if @process_status
    # Process::Status#exitstatus may be nil when the command did not exited normally
    @process_status.exitstatus || EXIT_FAILURE
  else
    case @type
    when :success then EXIT_SUCCESS
    when :failure then EXIT_FAILURE
    when :error then EXIT_ERROR
    else EXIT_ERROR
    end
  end
end
Also aliased as: to_i
status_string() click to toggle source
# File lib/bricolage/jobresult.rb, line 44
def status_string
  @type.to_s.upcase
end
success?() click to toggle source
# File lib/bricolage/jobresult.rb, line 37
def success?
  @type == :success
end
to_i()
Alias for: status