Sha256: 82077fbed02b6e104c71bc24fc104c0261074e3e0b44656ba570b40bcbf0dda0

Contents?: true

Size: 649 Bytes

Versions: 4

Compression:

Stored size: 649 Bytes

Contents

# frozen_string_literal: true

require 'time'
require 'truelayer/base_model'
require 'truelayer/account_number'

module Truelayer
  class Account < BaseModel
    attributes :update_timestamp, :account_id, :account_type, :display_name,
               :currency, :account_number, :provider, :provider_id

    def self.build(json:)
      super.tap do |record|
        record.account_number = AccountNumber.build(json: (record.account_number || {}))
        record.update_timestamp = Time.parse(record.update_timestamp) if record.update_timestamp
        record.provider_id = record.provider[:provider_id] if record.provider
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
truelayer-0.1.4 lib/truelayer/account.rb
truelayer-0.1.3 lib/truelayer/account.rb
truelayer-0.1.2 lib/truelayer/account.rb
truelayer-0.1.1 lib/truelayer/account.rb