automation-test 1.1 → 1.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +21 -12
  3. data/lib/{apimatic_calculator → coin_gecko_apiv3}/api_helper.rb +2 -2
  4. data/lib/coin_gecko_apiv3/client.rb +125 -0
  5. data/lib/{apimatic_calculator → coin_gecko_apiv3}/configuration.rb +5 -6
  6. data/lib/coin_gecko_apiv3/controllers/asset_platforms_controller.rb +29 -0
  7. data/lib/{apimatic_calculator → coin_gecko_apiv3}/controllers/base_controller.rb +2 -2
  8. data/lib/coin_gecko_apiv3/controllers/categories_controller.rb +52 -0
  9. data/lib/coin_gecko_apiv3/controllers/coins_controller.rb +389 -0
  10. data/lib/coin_gecko_apiv3/controllers/companies_beta_controller.rb +35 -0
  11. data/lib/coin_gecko_apiv3/controllers/contract_controller.rb +119 -0
  12. data/lib/coin_gecko_apiv3/controllers/derivatives_controller.rb +112 -0
  13. data/lib/coin_gecko_apiv3/controllers/events_controller.rb +89 -0
  14. data/lib/coin_gecko_apiv3/controllers/exchange_rates_controller.rb +29 -0
  15. data/lib/coin_gecko_apiv3/controllers/exchanges_controller.rb +192 -0
  16. data/lib/coin_gecko_apiv3/controllers/finance_controller.rb +71 -0
  17. data/lib/coin_gecko_apiv3/controllers/global_controller.rb +29 -0
  18. data/lib/coin_gecko_apiv3/controllers/indexes_controller.rb +79 -0
  19. data/lib/coin_gecko_apiv3/controllers/ping_controller.rb +29 -0
  20. data/lib/coin_gecko_apiv3/controllers/simple_controller.rb +126 -0
  21. data/lib/coin_gecko_apiv3/controllers/status_updates_controller.rb +48 -0
  22. data/lib/coin_gecko_apiv3/controllers/trending_controller.rb +30 -0
  23. data/lib/{apimatic_calculator → coin_gecko_apiv3}/exceptions/api_exception.rb +2 -2
  24. data/lib/{apimatic_calculator → coin_gecko_apiv3}/http/faraday_client.rb +2 -2
  25. data/lib/{apimatic_calculator → coin_gecko_apiv3}/http/http_call_back.rb +2 -2
  26. data/lib/{apimatic_calculator → coin_gecko_apiv3}/http/http_client.rb +2 -2
  27. data/lib/{apimatic_calculator → coin_gecko_apiv3}/http/http_method_enum.rb +2 -2
  28. data/lib/{apimatic_calculator → coin_gecko_apiv3}/http/http_request.rb +2 -2
  29. data/lib/{apimatic_calculator → coin_gecko_apiv3}/http/http_response.rb +2 -2
  30. data/lib/{apimatic_calculator → coin_gecko_apiv3}/models/base_model.rb +2 -2
  31. data/lib/{apimatic_calculator → coin_gecko_apiv3}/utilities/date_time_helper.rb +2 -2
  32. data/lib/{apimatic_calculator → coin_gecko_apiv3}/utilities/file_wrapper.rb +2 -2
  33. data/lib/coin_gecko_apiv3.rb +52 -0
  34. data/test/controllers/controller_test_base.rb +3 -3
  35. data/test/controllers/test_asset_platforms_controller.rb +25 -0
  36. data/test/controllers/test_categories_controller.rb +37 -0
  37. data/test/controllers/test_coins_controller.rb +27 -0
  38. data/test/controllers/test_derivatives_controller.rb +51 -0
  39. data/test/controllers/test_events_controller.rb +55 -0
  40. data/test/controllers/test_exchange_rates_controller.rb +26 -0
  41. data/test/controllers/test_exchanges_controller.rb +38 -0
  42. data/test/controllers/test_finance_controller.rb +43 -0
  43. data/test/controllers/test_global_controller.rb +26 -0
  44. data/test/controllers/test_indexes_controller.rb +38 -0
  45. data/test/controllers/test_ping_controller.rb +26 -0
  46. data/test/controllers/test_simple_controller.rb +25 -0
  47. data/test/controllers/test_status_updates_controller.rb +31 -0
  48. data/test/controllers/test_trending_controller.rb +25 -0
  49. data/test/http_response_catcher.rb +2 -2
  50. data/test/test_helper.rb +1 -1
  51. metadata +49 -22
  52. data/lib/apimatic_calculator/client.rb +0 -35
  53. data/lib/apimatic_calculator/controllers/simple_calculator_controller.rb +0 -45
  54. data/lib/apimatic_calculator/models/operation_type_enum.rb +0 -23
  55. data/lib/apimatic_calculator.rb +0 -38
  56. data/test/controllers/test_simple_calculator_controller.rb +0 -34
@@ -0,0 +1,389 @@
1
+ # coin_gecko_apiv3
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module CoinGeckoApiv3
7
+ # CoinsController
8
+ class CoinsController < BaseController
9
+ def initialize(config, http_call_back: nil)
10
+ super(config, http_call_back: http_call_back)
11
+ end
12
+
13
+ # Use this to obtain all the coins' id in order to make API calls
14
+ # @param [Boolean] include_platform Optional parameter: flag to include
15
+ # platform contract addresses (eg. 0x.... for Ethereum based tokens).
16
+ # valid values: true, false
17
+ # @return [void] response from the API call
18
+ def listallsupportedcoinsid_nameandsymbol_nopaginationrequired(include_platform: nil)
19
+ # Prepare query url.
20
+ _query_builder = config.get_base_uri
21
+ _query_builder << '/coins/list'
22
+ _query_builder = APIHelper.append_url_with_query_parameters(
23
+ _query_builder,
24
+ 'include_platform' => include_platform
25
+ )
26
+ _query_url = APIHelper.clean_url _query_builder
27
+
28
+ # Prepare and execute HttpRequest.
29
+ _request = config.http_client.get(
30
+ _query_url
31
+ )
32
+ _response = execute_request(_request)
33
+ validate_response(_response)
34
+ end
35
+
36
+ # Use this to obtain all the coins market data (price, market cap, volume)
37
+ # @param [String] vs_currency Required parameter: The target currency of
38
+ # market data (usd, eur, jpy, etc.)
39
+ # @param [String] ids Optional parameter: The ids of the coin, comma
40
+ # separated crytocurrency symbols (base). refers to `/coins/list`. <b>When
41
+ # left empty, returns numbers the coins observing the params `limit` and
42
+ # `start`</b>
43
+ # @param [String] category Optional parameter: filter by coin category.
44
+ # Refer to /coin/categories/list
45
+ # @param [String] order Optional parameter: valid values:
46
+ # <b>market_cap_desc, gecko_desc, gecko_asc, market_cap_asc,
47
+ # market_cap_desc, volume_asc, volume_desc, id_asc, id_desc</b> sort results
48
+ # by field.
49
+ # @param [Integer] per_page Optional parameter: valid values: 1..250 Total
50
+ # results per page
51
+ # @param [Integer] page Optional parameter: Page through results
52
+ # @param [Boolean] sparkline Optional parameter: Include sparkline 7 days
53
+ # data (eg. true, false)
54
+ # @param [String] price_change_percentage Optional parameter: Include price
55
+ # change percentage in <b>1h, 24h, 7d, 14d, 30d, 200d, 1y</b> (eg.
56
+ # '`1h,24h,7d`' comma-separated, invalid values will be discarded)
57
+ # @return [void] response from the API call
58
+ def listallsupportedcoinsprice_marketcap_volume_andmarketrelateddata(vs_currency,
59
+ ids: nil,
60
+ category: nil,
61
+ order: 'market_cap_desc',
62
+ per_page: 100,
63
+ page: 1,
64
+ sparkline: false,
65
+ price_change_percentage: nil)
66
+ # Prepare query url.
67
+ _query_builder = config.get_base_uri
68
+ _query_builder << '/coins/markets'
69
+ _query_builder = APIHelper.append_url_with_query_parameters(
70
+ _query_builder,
71
+ 'vs_currency' => vs_currency,
72
+ 'ids' => ids,
73
+ 'category' => category,
74
+ 'order' => order,
75
+ 'per_page' => per_page,
76
+ 'page' => page,
77
+ 'sparkline' => sparkline,
78
+ 'price_change_percentage' => price_change_percentage
79
+ )
80
+ _query_url = APIHelper.clean_url _query_builder
81
+
82
+ # Prepare and execute HttpRequest.
83
+ _request = config.http_client.get(
84
+ _query_url
85
+ )
86
+ _response = execute_request(_request)
87
+ validate_response(_response)
88
+ end
89
+
90
+ # Get current data (name, price, market, ... including exchange tickers) for
91
+ # a coin.<br><br> **IMPORTANT**:
92
+ # Ticker object is limited to 100 items, to get more tickers, use
93
+ # `/coins/{id}/tickers`
94
+ # Ticker `is_stale` is true when ticker that has not been updated/unchanged
95
+ # from the exchange for a while.
96
+ # Ticker `is_anomaly` is true if ticker's price is outliered by our system.
97
+ # You are responsible for managing how you want to display these
98
+ # information (e.g. footnote, different background, change opacity, hide)
99
+ # @param [String] id Required parameter: pass the coin id (can be obtained
100
+ # from /coins) eg. bitcoin
101
+ # @param [String] localization Optional parameter: Include all localized
102
+ # languages in response (true/false) <b>[default: true]</b>
103
+ # @param [Boolean] tickers Optional parameter: Include tickers data
104
+ # (true/false) <b>[default: true]</b>
105
+ # @param [Boolean] market_data Optional parameter: Include market_data
106
+ # (true/false) <b>[default: true]</b>
107
+ # @param [Boolean] community_data Optional parameter: Include community_data
108
+ # data (true/false) <b>[default: true]</b>
109
+ # @param [Boolean] developer_data Optional parameter: Include developer_data
110
+ # data (true/false) <b>[default: true]</b>
111
+ # @param [Boolean] sparkline Optional parameter: Include sparkline 7 days
112
+ # data (eg. true, false) <b>[default: false]</b>
113
+ # @return [void] response from the API call
114
+ def getcurrentdata_name_price_market_includingexchangetickers_foracoin(id,
115
+ localization: nil,
116
+ tickers: nil,
117
+ market_data: nil,
118
+ community_data: nil,
119
+ developer_data: nil,
120
+ sparkline: nil)
121
+ # Prepare query url.
122
+ _query_builder = config.get_base_uri
123
+ _query_builder << '/coins/{id}'
124
+ _query_builder = APIHelper.append_url_with_template_parameters(
125
+ _query_builder,
126
+ 'id' => { 'value' => id, 'encode' => true }
127
+ )
128
+ _query_builder = APIHelper.append_url_with_query_parameters(
129
+ _query_builder,
130
+ 'localization' => localization,
131
+ 'tickers' => tickers,
132
+ 'market_data' => market_data,
133
+ 'community_data' => community_data,
134
+ 'developer_data' => developer_data,
135
+ 'sparkline' => sparkline
136
+ )
137
+ _query_url = APIHelper.clean_url _query_builder
138
+
139
+ # Prepare and execute HttpRequest.
140
+ _request = config.http_client.get(
141
+ _query_url
142
+ )
143
+ _response = execute_request(_request)
144
+ validate_response(_response)
145
+ end
146
+
147
+ # Get coin tickers (paginated to 100 items)<br><br> **IMPORTANT**:
148
+ # Ticker `is_stale` is true when ticker that has not been updated/unchanged
149
+ # from the exchange for a while.
150
+ # Ticker `is_anomaly` is true if ticker's price is outliered by our system.
151
+ # You are responsible for managing how you want to display these
152
+ # information (e.g. footnote, different background, change opacity, hide)
153
+ # @param [String] id Required parameter: pass the coin id (can be obtained
154
+ # from /coins/list) eg. bitcoin
155
+ # @param [String] exchange_ids Optional parameter: filter results by
156
+ # exchange_ids (ref: v3/exchanges/list)
157
+ # @param [String] include_exchange_logo Optional parameter: flag to show
158
+ # exchange_logo
159
+ # @param [Integer] page Optional parameter: Page through results
160
+ # @param [String] order Optional parameter: valid values:
161
+ # <b>trust_score_desc (default), trust_score_asc and volume_desc</b>
162
+ # @param [String] depth Optional parameter: flag to show 2% orderbook depth.
163
+ # valid values: true, false
164
+ # @return [void] response from the API call
165
+ def getcointickers_paginatedto100items(id,
166
+ exchange_ids: nil,
167
+ include_exchange_logo: nil,
168
+ page: nil,
169
+ order: nil,
170
+ depth: nil)
171
+ # Prepare query url.
172
+ _query_builder = config.get_base_uri
173
+ _query_builder << '/coins/{id}/tickers'
174
+ _query_builder = APIHelper.append_url_with_template_parameters(
175
+ _query_builder,
176
+ 'id' => { 'value' => id, 'encode' => true }
177
+ )
178
+ _query_builder = APIHelper.append_url_with_query_parameters(
179
+ _query_builder,
180
+ 'exchange_ids' => exchange_ids,
181
+ 'include_exchange_logo' => include_exchange_logo,
182
+ 'page' => page,
183
+ 'order' => order,
184
+ 'depth' => depth
185
+ )
186
+ _query_url = APIHelper.clean_url _query_builder
187
+
188
+ # Prepare and execute HttpRequest.
189
+ _request = config.http_client.get(
190
+ _query_url
191
+ )
192
+ _response = execute_request(_request)
193
+ validate_response(_response)
194
+ end
195
+
196
+ # Get historical data (name, price, market, stats) at a given date for a
197
+ # coin
198
+ # @param [String] id Required parameter: pass the coin id (can be obtained
199
+ # from /coins) eg. bitcoin
200
+ # @param [String] date Required parameter: The date of data snapshot in
201
+ # dd-mm-yyyy eg. 30-12-2017
202
+ # @param [String] localization Optional parameter: Set to false to exclude
203
+ # localized languages in response
204
+ # @return [void] response from the API call
205
+ def gethistoricaldata_name_price_market_stats_atagivendateforacoin(id,
206
+ date,
207
+ localization: nil)
208
+ # Prepare query url.
209
+ _query_builder = config.get_base_uri
210
+ _query_builder << '/coins/{id}/history'
211
+ _query_builder = APIHelper.append_url_with_template_parameters(
212
+ _query_builder,
213
+ 'id' => { 'value' => id, 'encode' => true }
214
+ )
215
+ _query_builder = APIHelper.append_url_with_query_parameters(
216
+ _query_builder,
217
+ 'date' => date,
218
+ 'localization' => localization
219
+ )
220
+ _query_url = APIHelper.clean_url _query_builder
221
+
222
+ # Prepare and execute HttpRequest.
223
+ _request = config.http_client.get(
224
+ _query_url
225
+ )
226
+ _response = execute_request(_request)
227
+ validate_response(_response)
228
+ end
229
+
230
+ # Get historical market data include price, market cap, and 24h volume
231
+ # (granularity auto)
232
+ # <b>Minutely data will be used for duration within 1 day, Hourly data will
233
+ # be used for duration between 1 day and 90 days, Daily data will be used
234
+ # for duration above 90 days.</b>
235
+ # @param [String] id Required parameter: pass the coin id (can be obtained
236
+ # from /coins) eg. bitcoin
237
+ # @param [String] vs_currency Required parameter: The target currency of
238
+ # market data (usd, eur, jpy, etc.)
239
+ # @param [String] days Required parameter: Data up to number of days ago
240
+ # (eg. 1,14,30,max)
241
+ # @param [String] interval Optional parameter: Data interval. Possible
242
+ # value: daily
243
+ # @return [void] response from the API call
244
+ def gethistoricalmarketdataincludeprice_marketcap_and24hvolume_granularityauto(id,
245
+ vs_currency,
246
+ days,
247
+ interval: nil)
248
+ # Prepare query url.
249
+ _query_builder = config.get_base_uri
250
+ _query_builder << '/coins/{id}/market_chart'
251
+ _query_builder = APIHelper.append_url_with_template_parameters(
252
+ _query_builder,
253
+ 'id' => { 'value' => id, 'encode' => true }
254
+ )
255
+ _query_builder = APIHelper.append_url_with_query_parameters(
256
+ _query_builder,
257
+ 'vs_currency' => vs_currency,
258
+ 'days' => days,
259
+ 'interval' => interval
260
+ )
261
+ _query_url = APIHelper.clean_url _query_builder
262
+
263
+ # Prepare and execute HttpRequest.
264
+ _request = config.http_client.get(
265
+ _query_url
266
+ )
267
+ _response = execute_request(_request)
268
+ validate_response(_response)
269
+ end
270
+
271
+ # Get historical market data include price, market cap, and 24h volume
272
+ # within a range of timestamp (granularity auto)
273
+ # <b><ul><li>Data granularity is automatic (cannot be adjusted)</li><li>1
274
+ # day from query time = 5 minute interval data</li><li>1 - 90 days from
275
+ # query time = hourly data</li><li>above 90 days from query time = daily
276
+ # data (00:00 UTC)</li></ul> </b>
277
+ # @param [String] id Required parameter: pass the coin id (can be obtained
278
+ # from /coins) eg. bitcoin
279
+ # @param [String] vs_currency Required parameter: The target currency of
280
+ # market data (usd, eur, jpy, etc.)
281
+ # @param [String] from Required parameter: From date in UNIX Timestamp (eg.
282
+ # 1392577232)
283
+ # @param [String] to Required parameter: To date in UNIX Timestamp (eg.
284
+ # 1422577232)
285
+ # @return [void] response from the API call
286
+ def gethistoricalmarketdataincludeprice_marketcap_and24hvolumewithinarangeoftimestamp_granularityauto(id,
287
+ vs_currency,
288
+ from,
289
+ to)
290
+ # Prepare query url.
291
+ _query_builder = config.get_base_uri
292
+ _query_builder << '/coins/{id}/market_chart/range'
293
+ _query_builder = APIHelper.append_url_with_template_parameters(
294
+ _query_builder,
295
+ 'id' => { 'value' => id, 'encode' => true }
296
+ )
297
+ _query_builder = APIHelper.append_url_with_query_parameters(
298
+ _query_builder,
299
+ 'vs_currency' => vs_currency,
300
+ 'from' => from,
301
+ 'to' => to
302
+ )
303
+ _query_url = APIHelper.clean_url _query_builder
304
+
305
+ # Prepare and execute HttpRequest.
306
+ _request = config.http_client.get(
307
+ _query_url
308
+ )
309
+ _response = execute_request(_request)
310
+ validate_response(_response)
311
+ end
312
+
313
+ # Get status updates for a given coin
314
+ # @param [String] id Required parameter: pass the coin id (can be obtained
315
+ # from /coins) eg. bitcoin
316
+ # @param [Integer] per_page Optional parameter: Total results per page
317
+ # @param [Integer] page Optional parameter: Page through results
318
+ # @return [void] response from the API call
319
+ def getstatusupdatesforagivencoin(id,
320
+ per_page: nil,
321
+ page: nil)
322
+ # Prepare query url.
323
+ _query_builder = config.get_base_uri
324
+ _query_builder << '/coins/{id}/status_updates'
325
+ _query_builder = APIHelper.append_url_with_template_parameters(
326
+ _query_builder,
327
+ 'id' => { 'value' => id, 'encode' => true }
328
+ )
329
+ _query_builder = APIHelper.append_url_with_query_parameters(
330
+ _query_builder,
331
+ 'per_page' => per_page,
332
+ 'page' => page
333
+ )
334
+ _query_url = APIHelper.clean_url _query_builder
335
+
336
+ # Prepare and execute HttpRequest.
337
+ _request = config.http_client.get(
338
+ _query_url
339
+ )
340
+ _response = execute_request(_request)
341
+ validate_response(_response)
342
+ end
343
+
344
+ # Candle's body:
345
+ # 1 - 2 days: 30 minutes
346
+ # 3 - 30 days: 4 hours
347
+ # 31 and before: 4 days
348
+ # @param [String] id Required parameter: pass the coin id (can be obtained
349
+ # from /coins/list) eg. bitcoin
350
+ # @param [String] vs_currency Required parameter: The target currency of
351
+ # market data (usd, eur, jpy, etc.)
352
+ # @param [Integer] days Required parameter: Data up to number of days ago
353
+ # (1/7/14/30/90/180/365/max)
354
+ # @return [List of Float] response from the API call
355
+ def getcoin_s_ohlc(id,
356
+ vs_currency,
357
+ days)
358
+ # Prepare query url.
359
+ _query_builder = config.get_base_uri
360
+ _query_builder << '/coins/{id}/ohlc'
361
+ _query_builder = APIHelper.append_url_with_template_parameters(
362
+ _query_builder,
363
+ 'id' => { 'value' => id, 'encode' => true }
364
+ )
365
+ _query_builder = APIHelper.append_url_with_query_parameters(
366
+ _query_builder,
367
+ 'vs_currency' => vs_currency,
368
+ 'days' => days
369
+ )
370
+ _query_url = APIHelper.clean_url _query_builder
371
+
372
+ # Prepare headers.
373
+ _headers = {
374
+ 'accept' => 'application/json'
375
+ }
376
+
377
+ # Prepare and execute HttpRequest.
378
+ _request = config.http_client.get(
379
+ _query_url,
380
+ headers: _headers
381
+ )
382
+ _response = execute_request(_request)
383
+ validate_response(_response)
384
+
385
+ # Return appropriate response type.
386
+ APIHelper.json_deserialize(_response.raw_body)
387
+ end
388
+ end
389
+ end
@@ -0,0 +1,35 @@
1
+ # coin_gecko_apiv3
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module CoinGeckoApiv3
7
+ # CompaniesBetaController
8
+ class CompaniesBetaController < BaseController
9
+ def initialize(config, http_call_back: nil)
10
+ super(config, http_call_back: http_call_back)
11
+ end
12
+
13
+ # Get public companies bitcoin or ethereum holdings (Ordered by total
14
+ # holdings descending)
15
+ # @param [String] coin_id Required parameter: bitcoin or ethereum
16
+ # @return [void] response from the API call
17
+ def getpubliccompaniesdata(coin_id)
18
+ # Prepare query url.
19
+ _query_builder = config.get_base_uri
20
+ _query_builder << '/companies/public_treasury/{coin_id}'
21
+ _query_builder = APIHelper.append_url_with_template_parameters(
22
+ _query_builder,
23
+ 'coin_id' => { 'value' => coin_id, 'encode' => true }
24
+ )
25
+ _query_url = APIHelper.clean_url _query_builder
26
+
27
+ # Prepare and execute HttpRequest.
28
+ _request = config.http_client.get(
29
+ _query_url
30
+ )
31
+ _response = execute_request(_request)
32
+ validate_response(_response)
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,119 @@
1
+ # coin_gecko_apiv3
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module CoinGeckoApiv3
7
+ # ContractController
8
+ class ContractController < BaseController
9
+ def initialize(config, http_call_back: nil)
10
+ super(config, http_call_back: http_call_back)
11
+ end
12
+
13
+ # Get coin info from contract address
14
+ # @param [String] id Required parameter: Asset platform (See asset_platforms
15
+ # endpoint for list of options)
16
+ # @param [String] contract_address Required parameter: Token's contract
17
+ # address
18
+ # @return [void] response from the API call
19
+ def getcoininfofromcontractaddress(id,
20
+ contract_address)
21
+ # Prepare query url.
22
+ _query_builder = config.get_base_uri
23
+ _query_builder << '/coins/{id}/contract/{contract_address}'
24
+ _query_builder = APIHelper.append_url_with_template_parameters(
25
+ _query_builder,
26
+ 'id' => { 'value' => id, 'encode' => true },
27
+ 'contract_address' => { 'value' => contract_address, 'encode' => true }
28
+ )
29
+ _query_url = APIHelper.clean_url _query_builder
30
+
31
+ # Prepare and execute HttpRequest.
32
+ _request = config.http_client.get(
33
+ _query_url
34
+ )
35
+ _response = execute_request(_request)
36
+ validate_response(_response)
37
+ end
38
+
39
+ # Get historical market data include price, market cap, and 24h volume
40
+ # (granularity auto)
41
+ # @param [String] id Required parameter: The id of the platform issuing
42
+ # tokens (See asset_platforms endpoint for list of options)
43
+ # @param [String] contract_address Required parameter: Token's contract
44
+ # address
45
+ # @param [String] vs_currency Required parameter: The target currency of
46
+ # market data (usd, eur, jpy, etc.)
47
+ # @param [String] days Required parameter: Data up to number of days ago
48
+ # (eg. 1,14,30,max)
49
+ # @return [void] response from the API call
50
+ def gethistoricalmarketdataincludeprice_marketcap_and24hvolume_granularityauto_fromacontractaddress(id,
51
+ contract_address,
52
+ vs_currency,
53
+ days)
54
+ # Prepare query url.
55
+ _query_builder = config.get_base_uri
56
+ _query_builder << '/coins/{id}/contract/{contract_address}/market_chart/'
57
+ _query_builder = APIHelper.append_url_with_template_parameters(
58
+ _query_builder,
59
+ 'id' => { 'value' => id, 'encode' => true },
60
+ 'contract_address' => { 'value' => contract_address, 'encode' => true }
61
+ )
62
+ _query_builder = APIHelper.append_url_with_query_parameters(
63
+ _query_builder,
64
+ 'vs_currency' => vs_currency,
65
+ 'days' => days
66
+ )
67
+ _query_url = APIHelper.clean_url _query_builder
68
+
69
+ # Prepare and execute HttpRequest.
70
+ _request = config.http_client.get(
71
+ _query_url
72
+ )
73
+ _response = execute_request(_request)
74
+ validate_response(_response)
75
+ end
76
+
77
+ # Get historical market data include price, market cap, and 24h volume
78
+ # within a range of timestamp (granularity auto)
79
+ # @param [String] id Required parameter: The id of the platform issuing
80
+ # tokens (See asset_platforms endpoint for list of options)
81
+ # @param [String] contract_address Required parameter: Token's contract
82
+ # address
83
+ # @param [String] vs_currency Required parameter: The target currency of
84
+ # market data (usd, eur, jpy, etc.)
85
+ # @param [String] from Required parameter: From date in UNIX Timestamp (eg.
86
+ # 1392577232)
87
+ # @param [String] to Required parameter: To date in UNIX Timestamp (eg.
88
+ # 1422577232)
89
+ # @return [void] response from the API call
90
+ def gethistoricalmarketdataincludeprice_marketcap_and24hvolumewithinarangeoftimestamp_granularityauto_fromacontractaddress(id,
91
+ contract_address,
92
+ vs_currency,
93
+ from,
94
+ to)
95
+ # Prepare query url.
96
+ _query_builder = config.get_base_uri
97
+ _query_builder << '/coins/{id}/contract/{contract_address}/market_chart/range'
98
+ _query_builder = APIHelper.append_url_with_template_parameters(
99
+ _query_builder,
100
+ 'id' => { 'value' => id, 'encode' => true },
101
+ 'contract_address' => { 'value' => contract_address, 'encode' => true }
102
+ )
103
+ _query_builder = APIHelper.append_url_with_query_parameters(
104
+ _query_builder,
105
+ 'vs_currency' => vs_currency,
106
+ 'from' => from,
107
+ 'to' => to
108
+ )
109
+ _query_url = APIHelper.clean_url _query_builder
110
+
111
+ # Prepare and execute HttpRequest.
112
+ _request = config.http_client.get(
113
+ _query_url
114
+ )
115
+ _response = execute_request(_request)
116
+ validate_response(_response)
117
+ end
118
+ end
119
+ end
@@ -0,0 +1,112 @@
1
+ # coin_gecko_apiv3
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module CoinGeckoApiv3
7
+ # DerivativesController
8
+ class DerivativesController < BaseController
9
+ def initialize(config, http_call_back: nil)
10
+ super(config, http_call_back: http_call_back)
11
+ end
12
+
13
+ # List all derivative tickers
14
+ # @param [String] include_tickers Optional parameter: ['all', 'unexpired'] -
15
+ # expired to show unexpired tickers, all to list all tickers, defaults to
16
+ # unexpired
17
+ # @return [void] response from the API call
18
+ def listallderivativetickers(include_tickers: nil)
19
+ # Prepare query url.
20
+ _query_builder = config.get_base_uri
21
+ _query_builder << '/derivatives'
22
+ _query_builder = APIHelper.append_url_with_query_parameters(
23
+ _query_builder,
24
+ 'include_tickers' => include_tickers
25
+ )
26
+ _query_url = APIHelper.clean_url _query_builder
27
+
28
+ # Prepare and execute HttpRequest.
29
+ _request = config.http_client.get(
30
+ _query_url
31
+ )
32
+ _response = execute_request(_request)
33
+ validate_response(_response)
34
+ end
35
+
36
+ # List all derivative exchanges
37
+ # @param [String] order Optional parameter: order results using following
38
+ # params
39
+ # name_asc,name_desc,open_interest_btc_asc,open_interest_btc_desc,trade_volu
40
+ # me_24h_btc_asc,trade_volume_24h_btc_desc
41
+ # @param [Integer] per_page Optional parameter: Total results per page
42
+ # @param [Integer] page Optional parameter: Page through results
43
+ # @return [void] response from the API call
44
+ def listallderivativeexchanges(order: nil,
45
+ per_page: nil,
46
+ page: nil)
47
+ # Prepare query url.
48
+ _query_builder = config.get_base_uri
49
+ _query_builder << '/derivatives/exchanges'
50
+ _query_builder = APIHelper.append_url_with_query_parameters(
51
+ _query_builder,
52
+ 'order' => order,
53
+ 'per_page' => per_page,
54
+ 'page' => page
55
+ )
56
+ _query_url = APIHelper.clean_url _query_builder
57
+
58
+ # Prepare and execute HttpRequest.
59
+ _request = config.http_client.get(
60
+ _query_url
61
+ )
62
+ _response = execute_request(_request)
63
+ validate_response(_response)
64
+ end
65
+
66
+ # show derivative exchange data
67
+ # @param [String] id Required parameter: pass the exchange id (can be
68
+ # obtained from derivatives/exchanges/list) eg. bitmex
69
+ # @param [String] include_tickers Optional parameter: ['all', 'unexpired'] -
70
+ # expired to show unexpired tickers, all to list all tickers, leave blank to
71
+ # omit tickers data in response
72
+ # @return [void] response from the API call
73
+ def showderivativeexchangedata(id,
74
+ include_tickers: nil)
75
+ # Prepare query url.
76
+ _query_builder = config.get_base_uri
77
+ _query_builder << '/derivatives/exchanges/{id}'
78
+ _query_builder = APIHelper.append_url_with_template_parameters(
79
+ _query_builder,
80
+ 'id' => { 'value' => id, 'encode' => true }
81
+ )
82
+ _query_builder = APIHelper.append_url_with_query_parameters(
83
+ _query_builder,
84
+ 'include_tickers' => include_tickers
85
+ )
86
+ _query_url = APIHelper.clean_url _query_builder
87
+
88
+ # Prepare and execute HttpRequest.
89
+ _request = config.http_client.get(
90
+ _query_url
91
+ )
92
+ _response = execute_request(_request)
93
+ validate_response(_response)
94
+ end
95
+
96
+ # List all derivative exchanges name and identifier
97
+ # @return [void] response from the API call
98
+ def listallderivativeexchangesnameandidentifier
99
+ # Prepare query url.
100
+ _query_builder = config.get_base_uri
101
+ _query_builder << '/derivatives/exchanges/list'
102
+ _query_url = APIHelper.clean_url _query_builder
103
+
104
+ # Prepare and execute HttpRequest.
105
+ _request = config.http_client.get(
106
+ _query_url
107
+ )
108
+ _response = execute_request(_request)
109
+ validate_response(_response)
110
+ end
111
+ end
112
+ end