class DeGiro::GetCashFunds

Public Class Methods

new(connection) click to toggle source
# File lib/degiro/get_cash_funds.rb, line 5
def initialize(connection)
  @connection = connection
end

Public Instance Methods

get_cash_funds() click to toggle source
# File lib/degiro/get_cash_funds.rb, line 9
def get_cash_funds
  params = URI.encode_www_form(cashFunds: 0)
  parse_cash_funds(JSON.parse(@connection.get(url(params)).body))
end

Private Instance Methods

parse_cash_funds(response) click to toggle source
# File lib/degiro/get_cash_funds.rb, line 16
def parse_cash_funds(response)
  funds = response['cashFunds']['value'].map do |cash|
    {
      currency: cash['value'].find { |field| field['name'] == 'currencyCode' }['value'],
      amount:   cash['value'].find { |field| field['name'] == 'value' }['value']
    }
  end
  Hash[funds.map { |cash| [cash[:currency], cash[:amount]] }]
end
url(params) click to toggle source
# File lib/degiro/get_cash_funds.rb, line 26
def url(params)
  "#{@connection.urls_map['trading_url']}/v5/update/" \
  "#{@connection.user_data['int_account']};jsessionid=#{@connection.session_id}" \
  "?#{params}"
end