Sha256: 696d40fda4f24f6dc612938e48ff5c972b97f3ffd9d301bdc3d2a6157458d0b8

Contents?: true

Size: 816 Bytes

Versions: 7

Compression:

Stored size: 816 Bytes

Contents

# frozen_string_literal: true

require 'fractal_api/base_model'
require 'fractal_api/bank_account_scheme'
require 'fractal_api/paginator'

module FractalApi
  class BankAccount < BaseModel
    attributes :id, :bank_id, :currency, :nickname,
               :account, :external_id, :source

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

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

    def self.build(json:)
      super.tap do |record|
        record.account = (record.account || []).compact.map do |acs|
          BankAccountScheme.build(json: acs)
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
fractal_api-0.1.6 lib/fractal_api/bank_account.rb
fractal_api-0.1.5 lib/fractal_api/bank_account.rb
fractal_api-0.1.4 lib/fractal_api/bank_account.rb
fractal_api-0.1.3 lib/fractal_api/bank_account.rb
fractal_api-0.1.2 lib/fractal_api/bank_account.rb
fractal_api-0.1.1 lib/fractal_api/bank_account.rb
fractal_api-0.1.0 lib/fractal_api/bank_account.rb