Sha256: 27c217fb30367d010a42333973f20d7fb2c94d6cbed29916208d5f3e7ec1ee2b

Contents?: true

Size: 866 Bytes

Versions: 26

Compression:

Stored size: 866 Bytes

Contents

module ActsAsPhocodable
  
   class Error < StandardError

    def initialize(error_or_message)
      if error_or_message.is_a?(Exception)
        @error = error_or_message
      else
        @message = error_or_message
      end
    end

    def message
      @message || "#{@error.class} (wrapped in a #{self.class}) - #{@error.message}"
    end

    def backtrace
      if @error
        @error.backtrace
      else
        super
      end
    end

    def inspect
      if @error
        "#{@error.inspect} (wrapped in a #{self.class})"
      else
        super
      end
    end

    def to_s
      if @error
        "#{@error.class} (wrapped in a #{self.class}) - #{@error}"
      else
        super
      end
    end
  end

  class HTTPError < Error; end
  class ThumbnailNotFoundError < Error; end
  class ThumbnailAttributesNotFoundError < Error; end
  
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
phocoder-rails-0.0.38 lib/phocoder_rails/errors.rb
phocoder-rails-0.0.37 lib/phocoder_rails/errors.rb
phocoder-rails-0.0.36 lib/phocoder_rails/errors.rb
phocoder-rails-0.0.35 lib/phocoder_rails/errors.rb
phocoder-rails-0.0.34 lib/phocoder_rails/errors.rb
phocoder-rails-0.0.33 lib/phocoder_rails/errors.rb