class TapClutch::Models::Transaction

Models a Clutch Transaction

Public Class Methods

history(card_number) click to toggle source
# File lib/models/transaction.rb, line 18
def self.history(card_number)
  response = Clutch.client.post(
    '/cardHistory',
    limit: 100,
    offset: 0,
    cardNumber: card_number,
    restrictTransactionTypes: %w[ALLOCATE UPDATE_BALANCE]
  )

  response.transactions.map do |transaction|
    new(transaction.merge(card_number: card_number)
      .deep_transform_keys(&:underscore))
  end
end
key_property() click to toggle source
# File lib/models/transaction.rb, line 10
def self.key_property
  :transaction_id
end
stream() click to toggle source
# File lib/models/transaction.rb, line 14
def self.stream
  'transactions'
end

Public Instance Methods

transform() click to toggle source
Calls superclass method
# File lib/models/transaction.rb, line 44
def transform
  Time.zone = Time.now.zone

  super.tap do |data|
    data.merge! 'transaction_time' =>
      Time.zone.at(data['transaction_time'] / 1000)
  end
end