Class: F2ynab::Import::Csv::Amex

Inherits:
Object
  • Object
show all
Defined in:
lib/f2ynab/import/csv/amex.rb

Instance Method Summary collapse

Constructor Details

#initialize(ynab_client, path) ⇒ Amex

Returns a new instance of Amex.



10
11
12
13
14
# File 'lib/f2ynab/import/csv/amex.rb', line 10

def initialize(ynab_client, path)
  @path = path
  @ynab_client = ynab_client
  @import_id_creator = ::F2ynab::YNAB::ImportIdCreator.new
end

Instance Method Details

#importObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/f2ynab/import/csv/amex.rb', line 16

def import
  transactions_to_create = []

  ::CSV.foreach(@path) do |transaction|
    amount = (transaction[1].to_f * 1000).to_i
    date = Date.parse(transaction[0])

    transactions_to_create << {
      id: @import_id_creator.import_id(amount, date),
      amount: amount,
      payee_name: transaction[2],
      date: date,
      description: transaction[2],
    }
  end

  ::F2ynab::YNAB::BulkTransactionCreator.new(@ynab_client, transactions_to_create).create
end