lib/ticketing_hub/error.rb in ticketinghub-0.0.2 vs lib/ticketing_hub/error.rb in ticketinghub-0.0.3
- old
+ new
@@ -1,70 +1,43 @@
module TicketingHub
- # Custom error class for rescuing from all GitHub errors
class Error < StandardError
attr_accessor :response
- def initialize(response=nil)
+ def initialize response=nil
@response = response
- super build_error_message
end
def response_body
- @response_body ||=
- if (body = @response[:body]) && !body.empty?
- if body.is_a?(String)
- MultiJson.load(body, :symbolize_keys => true)
- else
- body
- end
- else
- nil
- end
+ @response[:body]
end
-
- private
-
- def build_error_message
- return nil if @response.nil?
-
- message = if response_body
- ": #{response_body[:error] || response_body[:message] || ''}"
- else
- ''
- end
- errors = unless message.empty?
- response_body[:errors] ? ": #{response_body[:errors].map{|e|e[:message]}.join(', ')}" : ''
- end
- "#{@response[:method].to_s.upcase} #{@response[:url].to_s}: #{@response[:status]}#{message}#{errors}"
- end
end
- # Raised when GitHub returns a 400 HTTP status code
+ # Raised when TicketingHub returns a 400 HTTP status code
class BadRequest < Error; end
- # Raised when GitHub returns a 401 HTTP status code
+ # Raised when TicketingHub returns a 401 HTTP status code
class Unauthorized < Error; end
- # Raised when GitHub returns a 403 HTTP status code
+ # Raised when TicketingHub returns a 403 HTTP status code
class Forbidden < Error; end
- # Raised when GitHub returns a 404 HTTP status code
+ # Raised when TicketingHub returns a 404 HTTP status code
class NotFound < Error; end
- # Raised when GitHub returns a 406 HTTP status code
+ # Raised when TicketingHub returns a 406 HTTP status code
class NotAcceptable < Error; end
- # Raised when GitHub returns a 422 HTTP status code
+ # Raised when TicketingHub returns a 422 HTTP status code
class UnprocessableEntity < Error; end
- # Raised when GitHub returns a 500 HTTP status code
+ # Raised when TicketingHub returns a 500 HTTP status code
class InternalServerError < Error; end
- # Raised when GitHub returns a 501 HTTP status code
+ # Raised when TicketingHub returns a 501 HTTP status code
class NotImplemented < Error; end
- # Raised when GitHub returns a 502 HTTP status code
+ # Raised when TicketingHub returns a 502 HTTP status code
class BadGateway < Error; end
- # Raised when GitHub returns a 503 HTTP status code
+ # Raised when TicketingHub returns a 503 HTTP status code
class ServiceUnavailable < Error; end
end
\ No newline at end of file