class DeGiro::GetPortfolio
Public Class Methods
new(connection)
click to toggle source
# File lib/degiro/get_portfolio.rb, line 5 def initialize(connection) @connection = connection end
Public Instance Methods
get_portfolio()
click to toggle source
# File lib/degiro/get_portfolio.rb, line 9 def get_portfolio params = URI.encode_www_form(portfolio: 0) parse_portfolio(JSON.parse(@connection.get(url(params)).body)) end
Private Instance Methods
parse_portfolio(response)
click to toggle source
# File lib/degiro/get_portfolio.rb, line 16 def parse_portfolio(response) portfolio = response['portfolio']['value'].map do |order| { size: order['value'].find { |field| field['name'] == 'size' }['value'], value: order['value'].find { |field| field['name'] == 'price' }['value'], product_id: order['value'].find { |field| field['name'] == 'id' }['value'].to_s } end portfolio.select { |entry| entry[:size] > 0 } end
url(params)
click to toggle source
# File lib/degiro/get_portfolio.rb, line 27 def url(params) "#{@connection.urls_map['trading_url']}/v5/update/" \ "#{@connection.user_data['int_account']};jsessionid=#{@connection.session_id}" \ "?#{params}" end