Class: F2ynab::Import::Csv::StarlingBank
- Inherits:
-
Object
- Object
- F2ynab::Import::Csv::StarlingBank
- Defined in:
- lib/f2ynab/import/csv/starling_bank.rb
Instance Method Summary collapse
- #import ⇒ Object
-
#initialize(ynab_client, path) ⇒ StarlingBank
constructor
A new instance of StarlingBank.
Constructor Details
#initialize(ynab_client, path) ⇒ StarlingBank
Returns a new instance of StarlingBank.
10 11 12 13 14 |
# File 'lib/f2ynab/import/csv/starling_bank.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
#import ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/f2ynab/import/csv/starling_bank.rb', line 16 def import transactions_to_create = [] ::CSV.foreach(@path, headers: true) do |transaction| # First row can be blank next unless transaction['Date'].present? amount = (transaction['Amount (GBP)'].to_f * 1000).to_i date = Date.parse(transaction['Date']) transactions_to_create << { id: @import_id_creator.import_id(amount, date), amount: amount, payee_name: transaction['Counter Party'], date: date, description: transaction['Reference'], } end ::F2ynab::YNAB::BulkTransactionCreator.new(@ynab_client, transactions_to_create).create end |