Class: F2ynab::Import::Csv::Default
- Inherits:
-
Object
- Object
- F2ynab::Import::Csv::Default
- Defined in:
- lib/f2ynab/import/csv/default.rb
Constant Summary collapse
- FORMATS =
{ 'default' => '::F2ynab::Import::Csv::Default', 'starling' => '::F2ynab::Import::Csv::StarlingBank', 'mbna' => '::F2ynab::Import::Csv::MBNA', 'amex' => '::F2ynab::Import::Csv::Amex', }
Instance Method Summary collapse
- #import ⇒ Object
-
#initialize(ynab_client, path) ⇒ Default
constructor
A new instance of Default.
Constructor Details
#initialize(ynab_client, path) ⇒ Default
Returns a new instance of Default.
17 18 19 20 21 |
# File 'lib/f2ynab/import/csv/default.rb', line 17 def initialize(ynab_client, path) @path = path @ynab_client = ynab_client @import_id_creator = ::F2ynab::YNAB::ImportIdCreator.new end |
Instance Method Details
#import ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/f2ynab/import/csv/default.rb', line 23 def import transactions_to_create = [] ::CSV.foreach(@path, headers: true) do |transaction| transaction = transaction.to_h.symbolize_keys amount = (transaction[:amount].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[:description], date: date, } end ::F2ynab::YNAB::BulkTransactionCreator.new(@ynab_client, transactions_to_create).create end |