Sha256: 80079b6769d2bf3de24e5486b0abafbd2341ab21064adf470cfdb97243b6f8f3

Contents?: true

Size: 718 Bytes

Versions: 17

Compression:

Stored size: 718 Bytes

Contents

module InterApi
  class PaymentError
    STATUS_ERROR = [400, 403, 404, 503]
    attr_accessor :json_response
    def initialize json_response
      @json_response = json_response
    end

    def internal_error
      return nil unless json_response["violacoes"] || STATUS_ERROR.include?(json_response["status"])
      failed_message_error || rejected_message_error || "Pagamento recusado."
    end

    private

    def rejected_message_error
      "#{json_response["title"]} => #{json_response["detail"]}"
    end

    def failed_message_error
      return false unless json_response["violacoes"]
      "#{json_response["violacoes"][0]["razao"]} => #{json_response["violacoes"][0]["propriedade"]}"
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
inter_api-1.2.4 lib/inter_api/payment_error.rb
inter_api-1.2.3 lib/inter_api/payment_error.rb
inter_api-1.2.2 lib/inter_api/payment_error.rb
inter_api-1.2.1 lib/inter_api/payment_error.rb
inter_api-1.2.0 lib/inter_api/payment_error.rb
inter_api-1.1.0 lib/inter_api/payment_error.rb
inter_api-1.0.5 lib/inter_api/payment_error.rb
inter_api-1.0.4 lib/inter_api/payment_error.rb
inter_api-1.0.3 lib/inter_api/payment_error.rb
inter_api-1.0.2 lib/inter_api/payment_error.rb
inter_api-1.0.1 lib/inter_api/payment_error.rb
inter_api-1.0.0 lib/inter_api/payment_error.rb
inter_api-0.1.9 lib/inter_api/payment_error.rb
inter_api-0.1.8 lib/inter_api/payment_error.rb
inter_api-0.1.7 lib/inter_api/payment_error.rb
inter_api-0.1.5 lib/inter_api/payment_error.rb
inter_api-0.1.4 lib/inter_api/payment_error.rb