Class: F2ynab::Import::Starling

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

Instance Method Summary collapse

Constructor Details

#initialize(ynab_client, access_token, from: nil) ⇒ Starling

Returns a new instance of Starling.



4
5
6
7
8
# File 'lib/f2ynab/import/starling.rb', line 4

def initialize(ynab_client, access_token, from: nil)
  @starling = ::Starling::Client.new(access_token: access_token)
  @ynab_client = ynab_client
  @from = from
end

Instance Method Details

#importObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/f2ynab/import/starling.rb', line 10

def import
  from = (@from || @starling..get.created_at).to_date
  transactions_to_create = []
  @starling.transactions.list(params: { from: from, to: Date.today }).each do |transaction|
    transactions_to_create << {
      id: "S:#{transaction.id}",
      amount: (transaction.amount * 1000).to_i,
      payee_name: transaction.narrative.strip,
      date: transaction.created,
    }
  end

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