class DeGiro::FindProductById
Public Class Methods
new(connection)
click to toggle source
# File lib/degiro_client/find_product_by_id.rb, line 5 def initialize(connection) @connection = connection end
Public Instance Methods
find_product_by_id(id:)
click to toggle source
# File lib/degiro_client/find_product_by_id.rb, line 9 def find_product_by_id(id:) parse_product(JSON.parse(find_by_id(id).body)) end
Private Instance Methods
find_by_id(product_id)
click to toggle source
# File lib/degiro_client/find_product_by_id.rb, line 15 def find_by_id(product_id) @connection.post(url) do |req| req.headers['Content-Type'] = 'application/json; charset=UTF-8' req.body = [product_id].to_json end end
parse_product(response)
click to toggle source
# File lib/degiro_client/find_product_by_id.rb, line 22 def parse_product(response) { id: response['data'].values[0]['id'].to_s, ticker: response['data'].values[0]['symbol'].to_s, exchange_id: response['data'].values[0]['exchangeId'].to_s, isin: response['data'].values[0]['isin'].to_s } end
url()
click to toggle source
# File lib/degiro_client/find_product_by_id.rb, line 31 def url "#{@connection.urls_map['product_search_url']}/v5/products/info" \ "?intAccount=#{@connection.user_data['int_account']}" \ "&sessionId=#{@connection.session_id}" end