Class: Atrium::Transaction

Inherits:
Object
  • Object
show all
Extended by:
Pageable
Includes:
ActiveAttr::Model
Defined in:
lib/atrium/transaction.rb

Constant Summary

Constants included from Pageable

Pageable::DEFAULT_RECORDS_PER_PAGE

Class Method Summary collapse

Methods included from Pageable

make_get_request, paginate, paginate_each, paginate_in_batches, pagination_info

Class Method Details

._transaction_pagination_options(options) ⇒ Object



56
57
58
59
60
# File 'lib/atrium/transaction.rb', line 56

def self._transaction_pagination_options(options)
  user_guid = options.fetch(:user_guid)
  endpoint = "/users/#{user_guid}/transactions"
  options.merge(:endpoint => endpoint, :resource => "transactions")
end

.list(options = {}) ⇒ Object



35
36
37
38
# File 'lib/atrium/transaction.rb', line 35

def self.list(options = {})
  options = _transaction_pagination_options(options)
  paginate(options)
end

.list_each(options = {}) ⇒ Object



40
41
42
43
# File 'lib/atrium/transaction.rb', line 40

def self.list_each(options = {})
  options = _transaction_pagination_options(options)
  paginate_each(options) { |transaction| yield transaction }
end

.list_in_batches(options = {}) ⇒ Object



45
46
47
48
# File 'lib/atrium/transaction.rb', line 45

def self.list_in_batches(options = {})
  options = _transaction_pagination_options(options)
  paginate_in_batches(options) { |batch| yield batch }
end

.read(user_guid:, transaction_guid:) ⇒ Object



50
51
52
53
54
# File 'lib/atrium/transaction.rb', line 50

def self.read(user_guid:, transaction_guid:)
  endpoint = "/users/#{user_guid}/transactions/#{transaction_guid}"
  raw_transaction = ::Atrium.client.make_request(:get, endpoint)
  ::Atrium::Transaction.new(raw_transaction["transaction"])
end