Sha256: 1f82bb22fb063cb222e9f501fc3b7b4f1eddba330a52fbea20e9d6c516b91e0d
Contents?: true
Size: 1.22 KB
Versions: 3
Compression:
Stored size: 1.22 KB
Contents
module PagarMe class PagarMeError < StandardError end class ConnectionError < PagarMeError attr_reader :error def initialize(error) @error = error super error.message end end class RequestError < PagarMeError end class ResponseError < PagarMeError attr_reader :request_params, :error def initialize(request_params, error) @request_params, @error = request_params, error super @error.message end end class NotFound < ResponseError attr_reader :response def initialize(response, request_params, error) @response = response super request_params, error end end class ValidationError < PagarMeError attr_reader :response, :errors def initialize(response) @response = response @errors = response['errors'].map do |error| params = error.values_at('message', 'parameter_name', 'type', 'url') ParamError.new *params end super @errors.map(&:message).join(', ') end end class ParamError < PagarMeError attr_reader :parameter_name, :type, :url def initialize(message, parameter_name, type, url) @parameter_name, @type, @url = parameter_name, type, url super message end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pagarme-2.1.2 | lib/pagarme/errors.rb |
pagarme-2.1.1 | lib/pagarme/errors.rb |
pagarme-2.1.0 | lib/pagarme/errors.rb |