class PagSeguro::Errors
Public Class Methods
new(response = nil)
click to toggle source
# File lib/pagseguro/errors.rb, line 8 def initialize(response = nil) @response = response @messages = [] process(@response) if response end
Public Instance Methods
add(response)
click to toggle source
Adds errors. Accepts a response.
# File lib/pagseguro/errors.rb, line 17 def add(response) process(response) end
Private Instance Methods
error_message(code, message)
click to toggle source
# File lib/pagseguro/errors.rb, line 36 def error_message(code, message) I18n.t(code, scope: "pagseguro.errors", default: message) end
error_to_human(error)
click to toggle source
# File lib/pagseguro/errors.rb, line 51 def error_to_human(error) error_to_sym(error).to_s .capitalize .gsub('_', ' ') end
error_to_sym(error)
click to toggle source
Error formats
# File lib/pagseguro/errors.rb, line 42 def error_to_sym(error) error.to_s.split(/::/)[-1] .gsub(/Error$/, '') .gsub(/[[:upper:]]/) .with_index {|k, i| i == 0 ? k : ('_' + k)} .downcase .to_sym end
process(response)
click to toggle source
# File lib/pagseguro/errors.rb, line 22 def process(response) return unless response.error? @messages << error_message( error_to_sym(response.error), error_to_human(response.error) ) if response.error == Aitch::BadRequestError response.data.css("errors > error").each do |error| @messages << error_message(error.css("code").text, error.css("message").text) end end end