Class: FractalApi::Transaction

Inherits:
BaseModel show all
Defined in:
lib/fractal_api/transaction.rb

Class Method Summary collapse

Methods inherited from BaseModel

#as_json, attribute_aliases, attributes, format_url, #format_url, get, #get, #initialize, key_transformer, post, #post, put, #put

Constructor Details

This class inherits a constructor from FractalApi::BaseModel

Class Method Details

.all(company_id, filters = {}) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/fractal_api/transaction.rb', line 16

def self.all(company_id, filters = {})
  filters = filters.transform_keys { |key| key_transformer.transform(key) }

  Paginator.new('/banking/v2/transactions', self) do |url|
    get(
      url,
      params: filters,
      headers: { 'X-Company-Id' => company_id }
    )
  end
end

.build(json:) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/fractal_api/transaction.rb', line 28

def self.build(json:)
  super.tap do |record|
    record.merchant = Merchant.build(json: (record.merchant || {}))
    record.category = Category.build(json: (record.category || {}))
    record.booking_date = Time.parse(record.booking_date) if record.booking_date
    record.value_date = Time.parse(record.value_date) if record.value_date
  end
end