Sha256: 9a51f05e42bf6fe455670e841e97a1a7a4a60e28a471fdf0242f6878ca1dca1f
Contents?: true
Size: 1.35 KB
Versions: 1
Compression:
Stored size: 1.35 KB
Contents
require "banks_api/ynab/bulk_transactions_converter" module BanksApi module Ynab class Sync def self.run(*args) new(*args).run end def initialize(ynab_budget_id:, ynab_account_id:, bank_name:, credentials:, bank_account_id:, date_from:, date_to:) @ynab_budget_id = ynab_budget_id @ynab_account_id = ynab_account_id @bank_name = bank_name @credentials = credentials @bank_account_id = bank_account_id @date_from = date_from @date_to = date_to end def run ynab_api.transactions.bulk_create_transactions(ynab_budget_id, bulk_transactions) end private attr_reader :ynab_budget_id, :ynab_account_id, :bank_name, :credentials, :bank_account_id, :date_from, :date_to def bulk_transactions BanksApi::Ynab::BulkTransactions.new(banks_api_transactions, account_id: ynab_account_id) end def banks_api_transactions bank_account.transactions(from: date_from, to: date_to) end def bank_account @_bank_account ||= user_account.account(bank_account_id) end def user_account @_user_account ||= BanksApi::UserAccount.new(bank_name, credentials) end def ynab_api @_ynab_api ||= YNAB::API.new(ENV["YNAB_API_TOKEN"]) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
banks_api-ynab-0.1.1 | lib/banks_api/ynab/sync.rb |