currency-rate 1.2.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +2 -1
  3. data/README.md +8 -0
  4. data/Rakefile +29 -0
  5. data/VERSION +1 -1
  6. data/api_keys.yml.sample +3 -0
  7. data/bin/rake +29 -0
  8. data/bin/rspec +29 -0
  9. data/currency-rate.gemspec +46 -35
  10. data/lib/adapter.rb +4 -3
  11. data/lib/adapters/crypto/binance_adapter.rb +42 -0
  12. data/lib/adapters/crypto/bitfinex_adapter.rb +29 -6
  13. data/lib/adapters/crypto/bitpay_adapter.rb +17 -2
  14. data/lib/adapters/crypto/bitstamp_adapter.rb +9 -8
  15. data/lib/adapters/crypto/coinbase_adapter.rb +20 -4
  16. data/lib/adapters/crypto/exmo_adapter.rb +27 -0
  17. data/lib/adapters/crypto/kraken_adapter.rb +22 -11
  18. data/lib/adapters/crypto/localbitcoins_adapter.rb +13 -2
  19. data/lib/adapters/fiat/currency_layer_adapter.rb +14 -12
  20. data/lib/adapters/fiat/fixer_adapter.rb +4 -2
  21. data/lib/adapters/fiat/forge_adapter.rb +5 -3
  22. data/lib/adapters/fiat/free_forex_adapter.rb +32 -0
  23. data/lib/configuration.rb +12 -8
  24. data/lib/currency_rate.rb +16 -7
  25. data/lib/fetcher.rb +28 -41
  26. data/lib/storage/file_storage.rb +2 -2
  27. data/lib/synchronizer.rb +31 -17
  28. data/spec/fixtures/adapters/binance_rates.yml +993 -0
  29. data/spec/fixtures/adapters/bitfinex_rates.yml +4050 -0
  30. data/spec/fixtures/adapters/{bitpay_adapter.yml → bitpay_rates.yml} +179 -175
  31. data/spec/fixtures/adapters/bitstamp_rates.yml +61 -0
  32. data/spec/fixtures/adapters/{btc_china_adapter.yml → btc_china_rates.yml} +0 -0
  33. data/spec/fixtures/adapters/{btce_adapter.yml → btce_rates.yml} +0 -0
  34. data/spec/fixtures/adapters/coinbase_rates.yml +181 -0
  35. data/spec/fixtures/adapters/{currency_layer_adapter.yml → currency_layer_rates.yml} +0 -0
  36. data/spec/fixtures/adapters/exmo_rates.yml +1251 -0
  37. data/spec/fixtures/adapters/fixer_rates.yml +174 -0
  38. data/spec/fixtures/adapters/{forge_adapter.yml → forge_rates.yml} +0 -0
  39. data/spec/fixtures/adapters/free_forex_rates.yml +59 -0
  40. data/spec/fixtures/adapters/{huobi_adapter.yml → huobi_rates.yml} +0 -0
  41. data/spec/fixtures/adapters/kraken_rates.yml +507 -0
  42. data/spec/fixtures/adapters/localbitcoins_rates.yml +493 -0
  43. data/spec/fixtures/adapters/normalized/binance_rates.yml +134 -0
  44. data/spec/fixtures/adapters/normalized/bitfinex_rates.yml +95 -0
  45. data/spec/fixtures/adapters/normalized/bitpay_rates.yml +164 -0
  46. data/spec/fixtures/adapters/normalized/bitstamp_rates.yml +9 -0
  47. data/spec/fixtures/adapters/normalized/{btc_china_adapter.yml → btc_china_rates.yml} +0 -0
  48. data/spec/fixtures/adapters/normalized/{btce_adapter.yml → btce_rates.yml} +0 -0
  49. data/spec/fixtures/adapters/normalized/coinbase_rates.yml +179 -0
  50. data/spec/fixtures/adapters/normalized/{currency_layer_adapter.yml → currency_layer_rates.yml} +0 -0
  51. data/spec/fixtures/adapters/normalized/exmo_rates.yml +42 -0
  52. data/spec/fixtures/adapters/normalized/fixer_rates.yml +170 -0
  53. data/spec/fixtures/adapters/normalized/{forge_adapter.yml → forge_rates.yml} +0 -0
  54. data/spec/fixtures/adapters/normalized/free_forex_rates.yml +16 -0
  55. data/spec/fixtures/adapters/normalized/{huobi_adapter.yml → huobi_rates.yml} +0 -0
  56. data/spec/fixtures/adapters/normalized/kraken_rates.yml +21 -0
  57. data/spec/fixtures/adapters/normalized/localbitcoins_rates.yml +73 -0
  58. data/spec/fixtures/adapters/normalized/{okcoin_adapter.yml → okcoin_rates.yml} +0 -0
  59. data/spec/fixtures/adapters/normalized/{yahoo_adapter.yml → yahoo_rates.yml} +0 -0
  60. data/spec/fixtures/adapters/{okcoin_adapter.yml → okcoin_rates.yml} +0 -0
  61. data/spec/fixtures/adapters/{yahoo_adapter.yml → yahoo_rates.yml} +0 -0
  62. data/spec/lib/adapters/crypto/binance_adapter_spec.rb +13 -0
  63. data/spec/lib/adapters/crypto/exmo_adapter_spec.rb +13 -0
  64. data/spec/lib/adapters/fiat/free_forex_adapter_spec.rb +13 -0
  65. data/spec/lib/fetcher_spec.rb +17 -49
  66. data/spec/lib/synchronizer_spec.rb +36 -2
  67. data/spec/spec_helper.rb +2 -2
  68. metadata +66 -35
  69. data/spec/fixtures/adapters/bitfinex_adapter.yml +0 -18
  70. data/spec/fixtures/adapters/bitstamp_adapter.yml +0 -30
  71. data/spec/fixtures/adapters/coinbase_adapter.yml +0 -680
  72. data/spec/fixtures/adapters/fixer_adapter.yml +0 -34
  73. data/spec/fixtures/adapters/kraken_adapter.yml +0 -124
  74. data/spec/fixtures/adapters/localbitcoins_adapter.yml +0 -381
  75. data/spec/fixtures/adapters/normalized/bitfinex_adapter.yml +0 -2
  76. data/spec/fixtures/adapters/normalized/bitpay_adapter.yml +0 -161
  77. data/spec/fixtures/adapters/normalized/bitstamp_adapter.yml +0 -3
  78. data/spec/fixtures/adapters/normalized/coinbase_adapter.yml +0 -680
  79. data/spec/fixtures/adapters/normalized/fixer_adapter.yml +0 -32
  80. data/spec/fixtures/adapters/normalized/kraken_adapter.yml +0 -4
  81. data/spec/fixtures/adapters/normalized/localbitcoins_adapter.yml +0 -57
@@ -0,0 +1,493 @@
1
+ ---
2
+ COP:
3
+ avg_12h: '12104446.55'
4
+ volume_btc: '47.19378051'
5
+ avg_24h: '12119596.85'
6
+ avg_1h: '12242040.36'
7
+ rates:
8
+ last: '12749311.40'
9
+ avg_6h: '12074200.44'
10
+ USD:
11
+ avg_12h: '4559.76'
12
+ volume_btc: '87.23218414'
13
+ avg_24h: '4291.96'
14
+ avg_1h: '4703.07'
15
+ rates:
16
+ last: '6639.11'
17
+ avg_6h: '4578.96'
18
+ TWD:
19
+ volume_btc: '0.07924585'
20
+ avg_24h: '123665.78'
21
+ rates:
22
+ last: '123665.78'
23
+ GHS:
24
+ avg_12h: '19100.98'
25
+ volume_btc: '1.68679074'
26
+ avg_24h: '19184.67'
27
+ avg_1h: '19405.97'
28
+ rates:
29
+ last: '19405.97'
30
+ avg_6h: '19441.19'
31
+ DASH:
32
+ volume_btc: '0.02166378'
33
+ avg_24h: '46.16'
34
+ rates:
35
+ last: '46.16'
36
+ NGN:
37
+ avg_12h: '1411397.61'
38
+ volume_btc: '103.90052061'
39
+ avg_24h: '1415330.30'
40
+ avg_1h: '1478261.93'
41
+ rates:
42
+ last: '1483000.00'
43
+ avg_6h: '1423326.47'
44
+ EGP:
45
+ avg_12h: '77222.89'
46
+ volume_btc: '1.13353357'
47
+ avg_24h: '77182.98'
48
+ rates:
49
+ last: '77049.33'
50
+ IDR:
51
+ avg_12h: '63272299.27'
52
+ volume_btc: '0.13993232'
53
+ avg_24h: '62163201.47'
54
+ rates:
55
+ last: '63272299.27'
56
+ avg_6h: '63272299.27'
57
+ HNL:
58
+ avg_12h: '100000.00'
59
+ volume_btc: '0.01000000'
60
+ avg_24h: '100000.00'
61
+ rates:
62
+ last: '100000.00'
63
+ CRC:
64
+ avg_12h: '2481061.95'
65
+ volume_btc: '0.17786045'
66
+ avg_24h: '2510395.09'
67
+ rates:
68
+ last: '2310118.11'
69
+ avg_6h: '2330008.91'
70
+ PEN:
71
+ avg_12h: '14306.13'
72
+ volume_btc: '21.63297114'
73
+ avg_24h: '14304.59'
74
+ avg_1h: '14746.19'
75
+ rates:
76
+ last: '14650.00'
77
+ avg_6h: '14557.57'
78
+ AED:
79
+ avg_12h: '14588.96'
80
+ volume_btc: '5.69015571'
81
+ avg_24h: '14846.43'
82
+ rates:
83
+ last: '14229.76'
84
+ GBP:
85
+ avg_12h: '3147.00'
86
+ volume_btc: '87.17295796'
87
+ avg_24h: '3161.76'
88
+ avg_1h: '3417.86'
89
+ rates:
90
+ last: '3516.52'
91
+ avg_6h: '3228.95'
92
+ MWK:
93
+ avg_12h: '3448376.27'
94
+ volume_btc: '0.02609924'
95
+ avg_24h: '3448376.27'
96
+ rates:
97
+ last: '3448376.27'
98
+ DOP:
99
+ avg_12h: '211631.44'
100
+ volume_btc: '2.80354505'
101
+ avg_24h: '211614.20'
102
+ rates:
103
+ last: '190999.27'
104
+ avg_6h: '211751.33'
105
+ LKR:
106
+ avg_12h: '826497.98'
107
+ volume_btc: '0.27870993'
108
+ avg_24h: '847476.08'
109
+ rates:
110
+ last: '826497.98'
111
+ DKK:
112
+ avg_12h: '25384.95'
113
+ volume_btc: '0.26472583'
114
+ avg_24h: '25353.48'
115
+ rates:
116
+ last: '21872.10'
117
+ avg_6h: '21872.10'
118
+ AUD:
119
+ avg_12h: '6100.97'
120
+ volume_btc: '17.08307249'
121
+ avg_24h: '6093.23'
122
+ avg_1h: '6112.65'
123
+ rates:
124
+ last: '6780.64'
125
+ avg_6h: '6084.70'
126
+ PKR:
127
+ avg_12h: '570664.95'
128
+ volume_btc: '5.24651971'
129
+ avg_24h: '561320.96'
130
+ avg_1h: '643950.25'
131
+ rates:
132
+ last: '643950.25'
133
+ avg_6h: '557225.41'
134
+ JPY:
135
+ volume_btc: '0.69734612'
136
+ avg_24h: '412994.34'
137
+ rates:
138
+ last: '412994.34'
139
+ TZS:
140
+ avg_12h: '9577445.78'
141
+ volume_btc: '0.51416120'
142
+ avg_24h: '9715445.66'
143
+ rates:
144
+ last: '9100000.00'
145
+ avg_6h: '9100000.00'
146
+ VND:
147
+ avg_12h: '101478284.92'
148
+ volume_btc: '0.01182519'
149
+ avg_24h: '101478284.92'
150
+ avg_1h: '101478284.92'
151
+ rates:
152
+ last: '101478284.92'
153
+ avg_6h: '101478284.92'
154
+ KWD:
155
+ avg_12h: '1286.85'
156
+ volume_btc: '0.15696009'
157
+ avg_24h: '1274.21'
158
+ rates:
159
+ last: '1286.85'
160
+ RON:
161
+ avg_12h: '14808.15'
162
+ volume_btc: '2.47578941'
163
+ avg_24h: '14915.00'
164
+ rates:
165
+ last: '14793.64'
166
+ avg_6h: '14793.64'
167
+ CLP:
168
+ avg_12h: '2943098.34'
169
+ volume_btc: '4.60847623'
170
+ avg_24h: '2938112.28'
171
+ avg_1h: '3300000.00'
172
+ rates:
173
+ last: '3300003.30'
174
+ avg_6h: '3032919.05'
175
+ MYR:
176
+ avg_12h: '17121.80'
177
+ volume_btc: '10.87960590'
178
+ avg_24h: '16978.31'
179
+ avg_1h: '17088.05'
180
+ rates:
181
+ last: '16885.98'
182
+ avg_6h: '17167.34'
183
+ THB:
184
+ avg_12h: '128451.27'
185
+ volume_btc: '9.28361626'
186
+ avg_24h: '128556.51'
187
+ avg_1h: '131334.85'
188
+ rates:
189
+ last: '130690.76'
190
+ avg_6h: '130860.68'
191
+ UAH:
192
+ avg_12h: '109700.86'
193
+ volume_btc: '9.33796243'
194
+ avg_24h: '110945.60'
195
+ avg_1h: '115000.00'
196
+ rates:
197
+ last: '115000.00'
198
+ avg_6h: '110648.50'
199
+ UGX:
200
+ avg_12h: '14262855.46'
201
+ volume_btc: '0.88875267'
202
+ avg_24h: '14653636.19'
203
+ rates:
204
+ last: '16000000.00'
205
+ JOD:
206
+ volume_btc: '0.24449160'
207
+ avg_24h: '3108.49'
208
+ rates:
209
+ last: '3106.21'
210
+ XMR:
211
+ avg_12h: '77.97'
212
+ volume_btc: '0.00320636'
213
+ avg_24h: '77.97'
214
+ rates:
215
+ last: '77.97'
216
+ avg_6h: '77.97'
217
+ QAR:
218
+ volume_btc: '0.39609874'
219
+ avg_24h: '18959.92'
220
+ rates:
221
+ last: '19024.98'
222
+ SAR:
223
+ avg_12h: '16284.58'
224
+ volume_btc: '5.68544688'
225
+ avg_24h: '16225.09'
226
+ rates:
227
+ last: '16154.26'
228
+ avg_6h: '16154.26'
229
+ ETH:
230
+ avg_12h: '31.60'
231
+ volume_btc: '0.63053145'
232
+ avg_24h: '31.01'
233
+ rates:
234
+ last: '31.42'
235
+ CAD:
236
+ avg_12h: '5677.75'
237
+ volume_btc: '6.46936635'
238
+ avg_24h: '5658.46'
239
+ avg_1h: '6285.55'
240
+ rates:
241
+ last: '6064.05'
242
+ avg_6h: '5811.86'
243
+ SEK:
244
+ avg_12h: '37705.42'
245
+ volume_btc: '10.31270330'
246
+ avg_24h: '37807.93'
247
+ avg_1h: '36994.45'
248
+ rates:
249
+ last: '36994.45'
250
+ avg_6h: '38181.04'
251
+ SGD:
252
+ avg_12h: '5793.56'
253
+ volume_btc: '3.64570492'
254
+ avg_24h: '5737.16'
255
+ avg_1h: '5555.81'
256
+ rates:
257
+ last: '5555.81'
258
+ avg_6h: '5800.76'
259
+ HKD:
260
+ avg_12h: '32045.94'
261
+ volume_btc: '10.36879731'
262
+ avg_24h: '31270.01'
263
+ rates:
264
+ last: '33779.05'
265
+ avg_6h: '32045.94'
266
+ GEL:
267
+ volume_btc: '0.13437378'
268
+ avg_24h: '10633.62'
269
+ rates:
270
+ last: '10923.41'
271
+ VES:
272
+ avg_12h: '2833886.00'
273
+ volume_btc: '144.45187649'
274
+ avg_24h: '2826312.79'
275
+ avg_1h: '2833352.19'
276
+ rates:
277
+ last: '2966376.95'
278
+ avg_6h: '2836562.67'
279
+ CHF:
280
+ avg_12h: '4521.72'
281
+ volume_btc: '0.26888404'
282
+ avg_24h: '4332.72'
283
+ rates:
284
+ last: '4384.36'
285
+ avg_6h: '4384.36'
286
+ IRR:
287
+ avg_12h: '417491275.93'
288
+ volume_btc: '4.36516352'
289
+ avg_24h: '418717378.65'
290
+ rates:
291
+ last: '418580977.00'
292
+ avg_6h: '419883807.65'
293
+ XOF:
294
+ avg_12h: '2606229.93'
295
+ volume_btc: '0.00767392'
296
+ avg_24h: '2606229.93'
297
+ rates:
298
+ last: '2606229.93'
299
+ KRW:
300
+ avg_12h: '4409770.29'
301
+ volume_btc: '2.76936601'
302
+ avg_24h: '4384945.19'
303
+ avg_1h: '4877470.58'
304
+ rates:
305
+ last: '4933234.95'
306
+ avg_6h: '4409770.29'
307
+ CNY:
308
+ avg_12h: '28347.49'
309
+ volume_btc: '101.34497195'
310
+ avg_24h: '28023.66'
311
+ avg_1h: '28821.95'
312
+ rates:
313
+ last: '29247.07'
314
+ avg_6h: '28516.49'
315
+ BYN:
316
+ avg_12h: '9049.87'
317
+ volume_btc: '8.59721091'
318
+ avg_24h: '8993.80'
319
+ avg_1h: '9982.88'
320
+ rates:
321
+ last: '9981.09'
322
+ avg_6h: '9127.75'
323
+ BDT:
324
+ avg_12h: '312442.74'
325
+ volume_btc: '0.18240221'
326
+ avg_24h: '355286.26'
327
+ rates:
328
+ last: '312442.74'
329
+ NZD:
330
+ avg_12h: '6485.69'
331
+ volume_btc: '3.84602254'
332
+ avg_24h: '6554.67'
333
+ avg_1h: '6576.67'
334
+ rates:
335
+ last: '6796.31'
336
+ avg_6h: '6583.34'
337
+ TRY:
338
+ avg_12h: '21408.83'
339
+ volume_btc: '1.15024221'
340
+ avg_24h: '21350.73'
341
+ rates:
342
+ last: '20532.74'
343
+ XRP:
344
+ avg_12h: '11150.68'
345
+ volume_btc: '0.02442915'
346
+ avg_24h: '11441.66'
347
+ rates:
348
+ last: '11118.31'
349
+ XAF:
350
+ avg_12h: '2165027.25'
351
+ volume_btc: '0.05490790'
352
+ avg_24h: '2225937.07'
353
+ rates:
354
+ last: '2165027.25'
355
+ EUR:
356
+ avg_12h: '3985.93'
357
+ volume_btc: '22.03577027'
358
+ avg_24h: '3925.26'
359
+ avg_1h: '3595.29'
360
+ rates:
361
+ last: '3595.29'
362
+ avg_6h: '3581.42'
363
+ LTC:
364
+ avg_12h: '124.26'
365
+ volume_btc: '0.02126348'
366
+ avg_24h: '125.10'
367
+ rates:
368
+ last: '122.05'
369
+ avg_6h: '124.46'
370
+ MGA:
371
+ volume_btc: '0.00443989'
372
+ avg_24h: '18018464.42'
373
+ rates:
374
+ last: '18018464.42'
375
+ ARS:
376
+ avg_12h: '167651.31'
377
+ volume_btc: '1.83750308'
378
+ avg_24h: '167697.67'
379
+ avg_1h: '181189.44'
380
+ rates:
381
+ last: '209102.95'
382
+ avg_6h: '173655.50'
383
+ UYU:
384
+ avg_12h: '152776.57'
385
+ volume_btc: '0.27277338'
386
+ avg_24h: '152874.16'
387
+ rates:
388
+ last: '151835.13'
389
+ SZL:
390
+ avg_12h: '69423.79'
391
+ volume_btc: '0.06817415'
392
+ avg_24h: '69674.50'
393
+ rates:
394
+ last: '69423.79'
395
+ KZT:
396
+ avg_12h: '1470955.64'
397
+ volume_btc: '1.75717207'
398
+ avg_24h: '1465689.65'
399
+ avg_1h: '1742834.19'
400
+ rates:
401
+ last: '1750838.71'
402
+ avg_6h: '1422059.56'
403
+ NOK:
404
+ avg_12h: '37677.47'
405
+ volume_btc: '2.20837727'
406
+ avg_24h: '36259.48'
407
+ rates:
408
+ last: '38584.00'
409
+ avg_6h: '38393.02'
410
+ RUB:
411
+ avg_12h: '277813.09'
412
+ volume_btc: '398.18310701'
413
+ avg_24h: '281237.75'
414
+ avg_1h: '288543.52'
415
+ rates:
416
+ last: '308000.31'
417
+ avg_6h: '280563.04'
418
+ ZAR:
419
+ avg_12h: '57843.17'
420
+ volume_btc: '18.02478592'
421
+ avg_24h: '58093.75'
422
+ avg_1h: '58700.00'
423
+ rates:
424
+ last: '58700.00'
425
+ avg_6h: '58563.72'
426
+ PAB:
427
+ avg_12h: '3909.86'
428
+ volume_btc: '7.85031573'
429
+ avg_24h: '3919.02'
430
+ rates:
431
+ last: '4100.00'
432
+ avg_6h: '3876.84'
433
+ INR:
434
+ avg_12h: '288500.55'
435
+ volume_btc: '25.07612340'
436
+ avg_24h: '292587.27'
437
+ avg_1h: '295192.16'
438
+ rates:
439
+ last: '300111.04'
440
+ avg_6h: '295024.70'
441
+ MXN:
442
+ avg_12h: '87319.24'
443
+ volume_btc: '3.53714329'
444
+ avg_24h: '87400.54'
445
+ rates:
446
+ last: '87900.00'
447
+ avg_6h: '88102.34'
448
+ CZK:
449
+ volume_btc: '0.06076525'
450
+ avg_24h: '82283.87'
451
+ rates:
452
+ last: '82283.87'
453
+ BRL:
454
+ avg_12h: '16024.88'
455
+ volume_btc: '4.55395296'
456
+ avg_24h: '16228.04'
457
+ rates:
458
+ last: '17323.62'
459
+ avg_6h: '15905.66'
460
+ MAD:
461
+ avg_12h: '36548.47'
462
+ volume_btc: '1.44578043'
463
+ avg_24h: '37162.75'
464
+ rates:
465
+ last: '42048.96'
466
+ avg_6h: '36787.81'
467
+ PLN:
468
+ avg_12h: '14465.17'
469
+ volume_btc: '0.74537864'
470
+ avg_24h: '15974.75'
471
+ rates:
472
+ last: '14262.95'
473
+ avg_6h: '14327.65'
474
+ PHP:
475
+ volume_btc: '0.27849175'
476
+ avg_24h: '193183.46'
477
+ rates:
478
+ last: '192974.56'
479
+ KES:
480
+ avg_12h: '453329.72'
481
+ volume_btc: '12.99746493'
482
+ avg_24h: '453915.10'
483
+ avg_1h: '462543.63'
484
+ rates:
485
+ last: '462543.63'
486
+ avg_6h: '463814.28'
487
+ ILS:
488
+ avg_12h: '14710.10'
489
+ volume_btc: '0.03260482'
490
+ avg_24h: '14898.72'
491
+ rates:
492
+ last: '14456.34'
493
+ avg_6h: '14456.34'