Sha256: e9508d6bf511b162d4c29a152cbc2d4a8f85888f76f28845485eaa2f4fa3bba0

Contents?: true

Size: 561 Bytes

Versions: 22

Compression:

Stored size: 561 Bytes

Contents

module RR
  class << self
    attr_accessor :overridden_error_class
  end

  module Errors
    def self.build_error(given_error, message = nil, backtrace = nil)
      error_class = self.error_class(given_error)
      error = message ? error_class.new(message) : error_class.new
      error.backtrace = backtrace if error_class < RR::Errors::RRError
      error
    end

    def self.error_class(given_error)
      RR.overridden_error_class ||
      (given_error.is_a?(Symbol) ?
        RR::Errors.const_get(given_error) :
        given_error)
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
rr-3.1.1 lib/rr/errors.rb
rr-3.1.0 lib/rr/errors.rb
rr-3.0.9 lib/rr/errors.rb
rr-3.0.8 lib/rr/errors.rb
rr-3.0.7 lib/rr/errors.rb
rr-3.0.6 lib/rr/errors.rb
rr-3.0.5 lib/rr/errors.rb
rr-3.0.4 lib/rr/errors.rb
rr-3.0.3 lib/rr/errors.rb
rr-3.0.2 lib/rr/errors.rb
rr-3.0.1 lib/rr/errors.rb
rr-3.0.0 lib/rr/errors.rb
rr-1.2.1 lib/rr/errors.rb
rr-1.2.0 lib/rr/errors.rb
rr-1.1.2 lib/rr/errors.rb
rr-1.1.2.rc1 lib/rr/errors.rb
rr-1.1.1 lib/rr/errors.rb
rr-1.1.1.rc1 lib/rr/errors.rb
rr-1.1.0 lib/rr/errors.rb
rr-1.1.0.rc3 lib/rr/errors.rb