Class: Darwinex::Api::InfoApi

Inherits:
Api
  • Object
show all
Defined in:
lib/darwinex/api/info_api.rb

Constant Summary collapse

BASE_URI =
'https://api.darwinex.com/darwininfo/2.0'

Instance Method Summary collapse

Methods inherited from Api

#send

Constructor Details

#initialize(config:, logger:) ⇒ InfoApi

Returns a new instance of InfoApi.



14
15
16
17
# File 'lib/darwinex/api/info_api.rb', line 14

def initialize(config:, logger:)
  super(logger)
  @config = config
end

Instance Method Details

#get_badges(product_name) ⇒ Object



47
48
49
# File 'lib/darwinex/api/info_api.rb', line 47

def get_badges(product_name)
  send('get', "/products/#{product_name}/history/badges", options, max_retries: config.max_retries)
end

#get_candles(product_name, resolution: nil, from:, to:) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/darwinex/api/info_api.rb', line 31

def get_candles(product_name, resolution: nil, from:, to:)
  query = {
    query: {
      resolution: resolution,
      from: from,
      to: to
    }
  }

  send('get', "/products/#{product_name}/candles", options.merge(query), max_retries: config.max_retries)
end

#get_capacity(product_name) ⇒ Object



79
80
81
# File 'lib/darwinex/api/info_api.rb', line 79

def get_capacity(product_name)
  send('get', "/products/#{product_name}/history/capacity", options, max_retries: config.max_retries)
end

#get_close_strategy(product_name) ⇒ Object



51
52
53
# File 'lib/darwinex/api/info_api.rb', line 51

def get_close_strategy(product_name)
  send('get', "/products/#{product_name}/history/closestrategy", options, max_retries: config.max_retries)
end

#get_duration_consistency(product_name) ⇒ Object



55
56
57
# File 'lib/darwinex/api/info_api.rb', line 55

def get_duration_consistency(product_name)
  send('get', "/products/#{product_name}/history/durationconsistency", options, max_retries: config.max_retries)
end

#get_dxscore(product_name) ⇒ Object



43
44
45
# File 'lib/darwinex/api/info_api.rb', line 43

def get_dxscore(product_name)
  send('get', "/products/#{product_name}/dxscore", options, max_retries: config.max_retries)
end

#get_experience(product_name) ⇒ Object



59
60
61
# File 'lib/darwinex/api/info_api.rb', line 59

def get_experience(product_name)
  send('get', "/products/#{product_name}/history/experience", options, max_retries: config.max_retries)
end

#get_losing_consistency(product_name) ⇒ Object



63
64
65
# File 'lib/darwinex/api/info_api.rb', line 63

def get_losing_consistency(product_name)
  send('get', "/products/#{product_name}/history/losingconsistency", options, max_retries: config.max_retries)
end

#get_market_correlation(product_name) ⇒ Object



67
68
69
# File 'lib/darwinex/api/info_api.rb', line 67

def get_market_correlation(product_name)
  send('get', "/products/#{product_name}/history/marketcorrelation", options, max_retries: config.max_retries)
end

#get_monthly_divergence(product_name) ⇒ Object



114
115
116
# File 'lib/darwinex/api/info_api.rb', line 114

def get_monthly_divergence(product_name)
  send('get', "/products/#{product_name}/monthlydivergence", options, max_retries: config.max_retries)
end

#get_open_strategy(product_name) ⇒ Object



75
76
77
# File 'lib/darwinex/api/info_api.rb', line 75

def get_open_strategy(product_name)
  send('get', "/products/#{product_name}/history/openstrategy", options, max_retries: config.max_retries)
end

#get_order_divergence(product_name) ⇒ Object



106
107
108
# File 'lib/darwinex/api/info_api.rb', line 106

def get_order_divergence(product_name)
  send('get', "/products/#{product_name}/history/orderdivergence", options, max_retries: config.max_retries)
end

#get_performance(product_name) ⇒ Object



71
72
73
# File 'lib/darwinex/api/info_api.rb', line 71

def get_performance(product_name)
  send('get', "/products/#{product_name}/history/performance", options, max_retries: config.max_retries)
end

#get_product_scores(product_name) ⇒ Object



122
123
124
# File 'lib/darwinex/api/info_api.rb', line 122

def get_product_scores(product_name)
  send('get', "/products/#{product_name}/scores", options, max_retries: config.max_retries)
end

#get_product_scores_badge(product_name, badge) ⇒ Object



126
127
128
# File 'lib/darwinex/api/info_api.rb', line 126

def get_product_scores_badge(product_name, badge)
  send('get', "/products/#{product_name}/scores/#{badge}", options, max_retries: config.max_retries)
end

#get_product_status(product_name) ⇒ Object



118
119
120
# File 'lib/darwinex/api/info_api.rb', line 118

def get_product_status(product_name)
  send('get', "/products/#{product_name}/status", options, max_retries: config.max_retries)
end

#get_quotes(product_name, from: nil, to: nil) ⇒ Object



83
84
85
86
87
88
89
90
91
92
# File 'lib/darwinex/api/info_api.rb', line 83

def get_quotes(product_name, from: nil, to: nil)
  query = {
    query: {
      start: from,
      end: to
    }
  }

  send('get', "/products/#{product_name}/history/quotes", options.merge(query), max_retries: config.max_retries)
end

#get_return_divergence(product_name) ⇒ Object



110
111
112
# File 'lib/darwinex/api/info_api.rb', line 110

def get_return_divergence(product_name)
  send('get', "/products/#{product_name}/history/returndivergence", options, max_retries: config.max_retries)
end

#get_risk_adjustment(product_name) ⇒ Object



94
95
96
# File 'lib/darwinex/api/info_api.rb', line 94

def get_risk_adjustment(product_name)
  send('get', "/products/#{product_name}/history/riskadjustment", options, max_retries: config.max_retries)
end

#get_risk_stability(product_name) ⇒ Object



98
99
100
# File 'lib/darwinex/api/info_api.rb', line 98

def get_risk_stability(product_name)
  send('get', "/products/#{product_name}/history/riskstability", options, max_retries: config.max_retries)
end

#get_winning_consistency(product_name) ⇒ Object



102
103
104
# File 'lib/darwinex/api/info_api.rb', line 102

def get_winning_consistency(product_name)
  send('get', "/products/#{product_name}/history/winningconsistency", options, max_retries: config.max_retries)
end

#list_products(status: nil, page: nil, per_page: nil) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/darwinex/api/info_api.rb', line 19

def list_products(status: nil, page: nil, per_page: nil)
  query = {
    query: {
      status: status,
      page: page,
      per_page: per_page
    }
  }

  send('get', '/products', options.merge(query), max_retries: config.max_retries)
end