Sha256: 7191dc861cd946a0b776effdd696a4b507bb1448945feda777135bba18196b4e
Contents?: true
Size: 1.36 KB
Versions: 1
Compression:
Stored size: 1.36 KB
Contents
module ActiveMocker class ErrorObject attr_reader :message, :level, :original_error, :type, :class_name 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 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 self.new(args) elsif exception && class_name return self.new(message: exception.message, class_name: class_name, original_error: exception, type: type ? type : :standard_error) end raise ArgumentError end def original_error? original_error.present? end def level_color case level when :standard_error, :fatal, :error :red when :warn :yellow when :info :default end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
active_mocker-2.0.0.pre1 | lib/active_mocker/error_object.rb |