Sha256: 2c18fbf6c759ca87bcb1c76ee88517f37f18e21577a172c272a9a14c4f38f5b8
Contents?: true
Size: 1.45 KB
Versions: 4
Compression:
Stored size: 1.45 KB
Contents
module CFoundry class APIError < RuntimeError class << self attr_reader :error_code, :description def setup(code, description = nil) @error_code = code @description = description end end def initialize(error_code = nil, description = nil) @error_code = error_code @description = description end def error_code @error_code || self.class.error_code end def description @description || self.class.description end def to_s if error_code "#{error_code}: #{description}" else description end end end class NotFound < APIError setup(404, "entity not found or inaccessible") end class TargetRefused < APIError @description = "target refused connection" attr_reader :message def initialize(message) @message = message end def to_s "#{description} (#{@message})" end end class UploadFailed < APIError setup(402) end class Denied < APIError attr_reader :error_code, :description def initialize( error_code = 200, description = "Operation not permitted") @error_code = error_code @description = description end end class BadResponse < StandardError def initialize(code, body = nil) @code = code @body = body end def to_s "target failed to handle our request due to an internal error (#{@code})" end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
cfoundry-0.2.0 | lib/cfoundry/errors.rb |
cfoundry-0.1.2 | lib/cfoundry/errors.rb |
cfoundry-0.1.1 | lib/cfoundry/errors.rb |
cfoundry-0.1.0 | lib/cfoundry/errors.rb |