Class: Banks::Fio

Inherits:
Object
  • Object
show all
Defined in:
lib/banks/fio.rb

Instance Method Summary collapse

Constructor Details

#initialize(token, config) ⇒ Fio

Returns a new instance of Fio.



4
5
6
7
# File 'lib/banks/fio.rb', line 4

def initialize(token, config)
  @config = config
  @token = token
end

Instance Method Details

#transactions(time_start, time_end, iban = nil) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/banks/fio.rb', line 9

def transactions(time_start, time_end, iban = nil)
  url = "#{@config[:base_uri]}/periods/#{@token}/#{time_start.strftime('%Y-%m-%d')}/#{time_end.strftime('%Y-%m-%d')}/transactions.json"

  trans = []
  JSON.parse(RestClient.get(url), symbolize_names: true)[:accountStatement][:transactionList][:transaction].each do |tr|
    trans << {
      id: tr[:column22].try(:[], :value),
      date: tr[:column0].try(:[], :value),
      amount: tr[:column1].try(:[], :value),
      currency: tr[:column14].try(:[], :value),
      account: "#{tr[:column2].try(:[], :value)}/#{tr[:column3].try(:[], :value)}",
      bank: tr[:column12].try(:[], :value),
      name: tr[:column7].try(:[], :value) || tr[:column9].try(:[], :value),
      variable_symbol: tr[:column5].try(:[], :value),
      message: tr[:column16].try(:[], :value)
    }
  end
  trans
end