KentaaNL/tikkie-api

View on GitHub
lib/tikkie/api/v1/responses/payment_request.rb

Summary

Maintainability
A
20 mins
Test Coverage
# frozen_string_literal: true
 
require 'bigdecimal'
require 'time'
 
module Tikkie
module Api
module V1
module Responses
# Response for a payment request.
class PaymentRequest < Base
def payment_request_token
data[:paymentRequestToken]
end
 
def amount
decimal = BigDecimal(data[:amountInCents])
decimal /= 100.0
decimal
end
 
def currency
data[:currency]
end
 
def created_at
Time.parse(data[:created]) if data[:created]
end
 
def expired_at
Time.parse(data[:expired]) if data[:expired]
end
 
# see PaymentRequestStatus
def status
data[:status]
end
 
def expired?
status == Tikkie::Api::V1::Types::PaymentRequestStatus::EXPIRED
end
 
def bank_account_yielded_too_fast?
data[:bankAccountYieldedTooFast]
end
 
def external_id
data[:externalId]
end
 
Similar blocks of code found in 4 locations. Consider refactoring.
def payments
@payments ||= begin
payments = []
 
if data[:payments]
data[:payments].each do |data|
payments << Tikkie::Api::V1::Responses::Payment.new(data)
end
end
 
payments
end
end
end
end
end
end
end