class ActiveMocker::ErrorObject

Attributes

class_name[R]
level[R]
message[R]
original_error[R]
type[R]

Public Class Methods

build_from(object: nil, exception: nil, class_name: nil, type: nil) click to toggle source
# File lib/active_mocker/error_object.rb, line 14
def self.build_from(object: nil, exception: nil, class_name: nil, type: nil)
  if object
    args = [:message, :original_error, :level, :type, :class_name].each_with_object({}) do |meth, hash|
      hash[meth] = object.public_send(meth) if object.respond_to? meth
    end
    args[:type]       = type unless type.nil?
    args[:class_name] = class_name unless class_name.nil?
    return new(args)
  elsif exception && class_name
    return new(message:        exception.message,
               class_name:     class_name,
               original_error: exception,
               type:           type ? type : :standard_error)
  end
  raise ArgumentError
end
new(level: :warn, message:, class_name:, type:, original_error: nil) click to toggle source
# File lib/active_mocker/error_object.rb, line 6
def initialize(level: :warn, message:, class_name:, type:, original_error: nil)
  @level          = level
  @message        = message
  @class_name     = class_name
  @type           = type
  @original_error = original_error
end

Public Instance Methods

level_color() click to toggle source
# File lib/active_mocker/error_object.rb, line 35
def level_color
  case level
  when :standard_error, :fatal, :error
    :red
  when :warn
    :yellow
  when :info
    :default
  end
end
original_error?() click to toggle source
# File lib/active_mocker/error_object.rb, line 31
def original_error?
  !original_error.nil?
end