Sha256: dd22387e27724ba59733bc129ed6e3c9b013682d55df93b9c34960f71f3a23a4
Contents?: true
Size: 878 Bytes
Versions: 4
Compression:
Stored size: 878 Bytes
Contents
module Wayback # Custom error class for rescuing from all Wayback errors class Error < StandardError attr_reader :wrapped_exception # @return [Hash] def self.errors @errors ||= Hash[descendants.map{|klass| [klass.const_get(:HTTP_STATUS_CODE), klass]}] end # @return [Array] def self.descendants ObjectSpace.each_object(::Class).select{|klass| klass < self} end # Initializes a new Error object # # @param exception [Exception, String] # @param response_headers [Hash] # @return [Wayback::Error] def initialize(exception=$!, response_headers={}) @wrapped_exception = exception exception.respond_to?(:backtrace) ? super(exception.message) : super(exception.to_s) end def backtrace @wrapped_exception.respond_to?(:backtrace) ? @wrapped_exception.backtrace : super end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
wayback-0.3.1 | lib/wayback/error.rb |
wayback-0.2.1 | lib/wayback/error.rb |
wayback-0.2.0 | lib/wayback/error.rb |
wayback-0.1.0 | lib/wayback/error.rb |