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
@@ -1,34 +0,0 @@
1
- base: USD
2
- date: '2017-10-23'
3
- rates:
4
- AUD: 1.2792
5
- BGN: 1.6659
6
- BRL: 3.1936
7
- CAD: 1.2636
8
- CHF: 0.98646
9
- CNY: 6.6403
10
- CZK: 21.841
11
- DKK: 6.3405
12
- GBP: 0.75886
13
- HKD: 7.803
14
- HRK: 6.3944
15
- HUF: 262.4
16
- IDR: 13534.0
17
- ILS: 3.4923
18
- INR: 65.022
19
- JPY: 113.79
20
- KRW: 1129.8
21
- MXN: 18.988
22
- MYR: 4.2349
23
- NOK: 7.9968
24
- NZD: 1.4342
25
- PHP: 51.497
26
- PLN: 3.6002
27
- RON: 3.9182
28
- RUB: 57.443
29
- SEK: 8.2147
30
- SGD: 1.3625
31
- THB: 33.19
32
- TRY: 3.6956
33
- ZAR: 13.689
34
- EUR: 0.85179
@@ -1,124 +0,0 @@
1
- BTC_USD:
2
- error: []
3
- result:
4
- XXBTZUSD:
5
- a:
6
- - '2529.71200'
7
- - '1'
8
- - '1.000'
9
- b:
10
- - '2525.42000'
11
- - '2'
12
- - '2.000'
13
- c:
14
- - '2529.71200'
15
- - '0.02979080'
16
- v:
17
- - '2014.23603584'
18
- - '3585.02399139'
19
- p:
20
- - '2575.19998'
21
- - '2583.40642'
22
- t:
23
- - 4952
24
- - 8549
25
- l:
26
- - '2522.94600'
27
- - '2522.94600'
28
- h:
29
- - '2613.99300'
30
- - '2615.00000'
31
- o: '2605.64100'
32
- BTC_EUR:
33
- error: []
34
- result:
35
- XXBTZEUR:
36
- a:
37
- - '2205.94700'
38
- - '1'
39
- - '1.000'
40
- b:
41
- - '2204.80000'
42
- - '5'
43
- - '5.000'
44
- c:
45
- - '2203.08100'
46
- - '0.60000000'
47
- v:
48
- - '3796.25920167'
49
- - '6576.57672725'
50
- p:
51
- - '2247.51761'
52
- - '2260.92978'
53
- t:
54
- - 10304
55
- - 19547
56
- l:
57
- - '2203.00000'
58
- - '2203.00000'
59
- h:
60
- - '2288.25800'
61
- - '2290.77900'
62
- o: '2284.69200'
63
- LTC_USD:
64
- error: []
65
- result:
66
- XLTCZUSD:
67
- a:
68
- - '46.62000'
69
- - '10'
70
- - '10.000'
71
- b:
72
- - '46.55002'
73
- - '1'
74
- - '1.000'
75
- c:
76
- - '46.62000'
77
- - '0.08283105'
78
- v:
79
- - '18720.46000454'
80
- - '38030.88954426'
81
- p:
82
- - '48.83615'
83
- - '49.94672'
84
- t:
85
- - 2016
86
- - 2759
87
- l:
88
- - '46.55000'
89
- - '46.55000'
90
- h:
91
- - '51.59990'
92
- - '52.10031'
93
- o: '51.01002'
94
- LTC_EUR:
95
- error: []
96
- result:
97
- XLTCZEUR:
98
- a:
99
- - '40.70000'
100
- - '90'
101
- - '90.000'
102
- b:
103
- - '40.69999'
104
- - '29'
105
- - '29.000'
106
- c:
107
- - '40.69894'
108
- - '0.99000000'
109
- v:
110
- - '39761.28960648'
111
- - '53657.51812728'
112
- p:
113
- - '42.12584'
114
- - '42.83905'
115
- t:
116
- - 3341
117
- - 4830
118
- l:
119
- - '40.45001'
120
- - '40.45001'
121
- h:
122
- - '45.08076'
123
- - '45.67800'
124
- o: '45.00925'
@@ -1,381 +0,0 @@
1
- COP:
2
- avg_12h: '3061947.29'
3
- volume_btc: '87.88978861'
4
- avg_24h: '3073374.51'
5
- avg_1h: '3095058.59'
6
- rates:
7
- last: '3071345.70'
8
- avg_6h: '3072231.91'
9
- USD:
10
- avg_12h: '1135.64'
11
- volume_btc: '1426.69999808'
12
- avg_24h: '1142.94'
13
- avg_1h: '1220.09'
14
- rates:
15
- last: '1327.00'
16
- avg_6h: '1241.97'
17
- QAR:
18
- volume_btc: '0.45309144'
19
- avg_24h: '4414.12'
20
- rates:
21
- last: '4414.12'
22
- NGN:
23
- avg_12h: '384360.20'
24
- volume_btc: '213.35731710'
25
- avg_24h: '384346.60'
26
- avg_1h: '380296.15'
27
- rates:
28
- last: '381626.58'
29
- avg_6h: '383592.60'
30
- EGP:
31
- avg_12h: '21807.52'
32
- volume_btc: '0.22927867'
33
- avg_24h: '21807.52'
34
- rates:
35
- last: '21908.04'
36
- IDR:
37
- avg_12h: '12280664.90'
38
- volume_btc: '1.95716460'
39
- avg_24h: '13182335.30'
40
- rates:
41
- last: '12280664.90'
42
- avg_6h: '12280664.90'
43
- HNL:
44
- avg_12h: '27029.43'
45
- volume_btc: '0.03999936'
46
- avg_24h: '27029.43'
47
- rates:
48
- last: '27029.43'
49
- CRC:
50
- avg_12h: '561597.88'
51
- volume_btc: '0.74272182'
52
- avg_24h: '561597.88'
53
- rates:
54
- last: '561597.88'
55
- PEN:
56
- avg_12h: '3744.91'
57
- volume_btc: '5.70588376'
58
- avg_24h: '3740.40'
59
- rates:
60
- last: '3366.88'
61
- avg_6h: '3845.35'
62
- AED:
63
- avg_12h: '3665.43'
64
- volume_btc: '2.00889495'
65
- avg_24h: '4058.79'
66
- rates:
67
- last: '3665.43'
68
- avg_6h: '3665.43'
69
- GBP:
70
- avg_12h: '838.10'
71
- volume_btc: '438.04880129'
72
- avg_24h: '846.82'
73
- avg_1h: '790.61'
74
- rates:
75
- last: '781.86'
76
- avg_6h: '844.38'
77
- DOP:
78
- avg_12h: '54124.73'
79
- volume_btc: '0.06613224'
80
- avg_24h: '54561.13'
81
- rates:
82
- last: '54124.73'
83
- DKK:
84
- avg_12h: '6671.50'
85
- volume_btc: '2.37738101'
86
- avg_24h: '6852.07'
87
- rates:
88
- last: '6668.79'
89
- CAD:
90
- avg_12h: '1402.42'
91
- volume_btc: '116.49119446'
92
- avg_24h: '1389.19'
93
- avg_1h: '1370.92'
94
- rates:
95
- last: '1300.56'
96
- avg_6h: '1547.22'
97
- PKR:
98
- avg_12h: '114279.97'
99
- volume_btc: '10.71223421'
100
- avg_24h: '116207.96'
101
- avg_1h: '111372.40'
102
- rates:
103
- last: '111372.40'
104
- avg_6h: '111372.40'
105
- JPY:
106
- volume_btc: '0.01205557'
107
- avg_24h: '165898.42'
108
- rates:
109
- last: '165898.42'
110
- HUF:
111
- avg_12h: '337882.56'
112
- volume_btc: '0.69280178'
113
- avg_24h: '307442.29'
114
- rates:
115
- last: '337882.36'
116
- VND:
117
- volume_btc: '1.26604188'
118
- avg_24h: '22116172.02'
119
- rates:
120
- last: '22116172.02'
121
- RON:
122
- avg_12h: '4236.68'
123
- volume_btc: '49.05953058'
124
- avg_24h: '4263.38'
125
- rates:
126
- last: '4170.97'
127
- avg_6h: '4170.97'
128
- MYR:
129
- avg_12h: '4791.43'
130
- volume_btc: '53.17718203'
131
- avg_24h: '4741.47'
132
- avg_1h: '4654.58'
133
- rates:
134
- last: '4500.42'
135
- avg_6h: '4791.99'
136
- UAH:
137
- avg_12h: '28114.00'
138
- volume_btc: '21.50026590'
139
- avg_24h: '29048.28'
140
- rates:
141
- last: '27003.08'
142
- avg_6h: '27003.08'
143
- UGX:
144
- avg_12h: '3603949.58'
145
- volume_btc: '0.07486834'
146
- avg_24h: '3633300.80'
147
- rates:
148
- last: '3603949.58'
149
- JOD:
150
- avg_12h: '837.52'
151
- volume_btc: '0.32834182'
152
- avg_24h: '837.54'
153
- rates:
154
- last: '837.52'
155
- SAR:
156
- avg_12h: '4100.70'
157
- volume_btc: '6.75750027'
158
- avg_24h: '4249.52'
159
- rates:
160
- last: '4392.12'
161
- SEK:
162
- avg_12h: '10086.46'
163
- volume_btc: '48.11951482'
164
- avg_24h: '10013.03'
165
- rates:
166
- last: '10266.65'
167
- avg_6h: '10251.70'
168
- SGD:
169
- volume_btc: '0.82020770'
170
- avg_24h: '1590.29'
171
- rates:
172
- last: '1621.91'
173
- HKD:
174
- avg_12h: '8337.46'
175
- volume_btc: '11.51926948'
176
- avg_24h: '8444.07'
177
- rates:
178
- last: '8337.46'
179
- avg_6h: '8337.46'
180
- AUD:
181
- avg_12h: '1481.20'
182
- volume_btc: '171.75476363'
183
- avg_24h: '1465.77'
184
- avg_1h: '1462.09'
185
- rates:
186
- last: '1473.08'
187
- avg_6h: '1479.79'
188
- CHF:
189
- avg_12h: '1056.67'
190
- volume_btc: '2.76100054'
191
- avg_24h: '1017.37'
192
- rates:
193
- last: '1056.67'
194
- IRR:
195
- avg_12h: '37937589.30'
196
- volume_btc: '0.20000000'
197
- avg_24h: '37937589.30'
198
- rates:
199
- last: '37937589.30'
200
- TZS:
201
- avg_12h: '2232340.74'
202
- volume_btc: '0.24657016'
203
- avg_24h: '2264840.12'
204
- rates:
205
- last: '2221246.83'
206
- CNY:
207
- avg_12h: '7354.94'
208
- volume_btc: '997.84377191'
209
- avg_24h: '7375.25'
210
- avg_1h: '7311.45'
211
- rates:
212
- last: '7312.62'
213
- avg_6h: '7329.88'
214
- TRY:
215
- avg_12h: '4727.38'
216
- volume_btc: '11.35644477'
217
- avg_24h: '3926.23'
218
- rates:
219
- last: '6285.05'
220
- avg_6h: '6314.81'
221
- BDT:
222
- volume_btc: '0.02049993'
223
- avg_24h: '74927.09'
224
- rates:
225
- last: '74927.09'
226
- HRK:
227
- volume_btc: '2.34657048'
228
- avg_24h: '7386.30'
229
- rates:
230
- last: '7592.33'
231
- NZD:
232
- avg_12h: '1580.19'
233
- volume_btc: '33.93554064'
234
- avg_24h: '1600.93'
235
- avg_1h: '1502.02'
236
- rates:
237
- last: '1624.19'
238
- avg_6h: '1584.18'
239
- BYN:
240
- avg_12h: '2193.00'
241
- volume_btc: '0.04150023'
242
- avg_24h: '2193.00'
243
- rates:
244
- last: '2193.00'
245
- CLP:
246
- avg_12h: '722598.41'
247
- volume_btc: '5.31278281'
248
- avg_24h: '754362.32'
249
- rates:
250
- last: '750433.19'
251
- avg_6h: '682500.43'
252
- THB:
253
- avg_12h: '35991.93'
254
- volume_btc: '67.05382170'
255
- avg_24h: '35725.52'
256
- avg_1h: '35547.64'
257
- rates:
258
- last: '35046.97'
259
- avg_6h: '35893.69'
260
- XAF:
261
- volume_btc: '0.20941150'
262
- avg_24h: '501405.13'
263
- rates:
264
- last: '501405.13'
265
- EUR:
266
- avg_12h: '1075.24'
267
- volume_btc: '119.82697224'
268
- avg_24h: '989.12'
269
- avg_1h: '853.59'
270
- rates:
271
- last: '811.49'
272
- avg_6h: '1348.16'
273
- VEF:
274
- avg_12h: '4040314.32'
275
- volume_btc: '90.24808553'
276
- avg_24h: '4053928.08'
277
- avg_1h: '3714888.75'
278
- rates:
279
- last: '3700000.00'
280
- avg_6h: '3986472.46'
281
- ARS:
282
- avg_12h: '17205.75'
283
- volume_btc: '11.13402758'
284
- avg_24h: '17912.79'
285
- rates:
286
- last: '17270.75'
287
- avg_6h: '16893.41'
288
- RWF:
289
- volume_btc: '0.06275026'
290
- avg_24h: '1115533.23'
291
- rates:
292
- last: '1115533.23'
293
- KZT:
294
- volume_btc: '0.41109940'
295
- avg_24h: '325561.28'
296
- rates:
297
- last: '329397.40'
298
- NOK:
299
- avg_12h: '9171.57'
300
- volume_btc: '13.15011844'
301
- avg_24h: '9112.39'
302
- avg_1h: '9221.54'
303
- rates:
304
- last: '9377.88'
305
- avg_6h: '9221.54'
306
- RUB:
307
- avg_12h: '61095.76'
308
- volume_btc: '762.34628486'
309
- avg_24h: '61093.89'
310
- avg_1h: '60406.29'
311
- rates:
312
- last: '62351.00'
313
- avg_6h: '60793.87'
314
- KES:
315
- avg_12h: '111814.08'
316
- volume_btc: '7.19200059'
317
- avg_24h: '111278.18'
318
- avg_1h: '111000.00'
319
- rates:
320
- last: '111000.01'
321
- avg_6h: '111820.10'
322
- PAB:
323
- avg_12h: '1033.66'
324
- volume_btc: '1.40278849'
325
- avg_24h: '1033.66'
326
- rates:
327
- last: '1036.98'
328
- INR:
329
- avg_12h: '69756.23'
330
- volume_btc: '54.74466527'
331
- avg_24h: '69374.46'
332
- avg_1h: '68355.58'
333
- rates:
334
- last: '65922.33'
335
- avg_6h: '68523.58'
336
- MXN:
337
- avg_12h: '20420.44'
338
- volume_btc: '22.10896699'
339
- avg_24h: '20571.96'
340
- rates:
341
- last: '20938.46'
342
- avg_6h: '21155.52'
343
- CZK:
344
- avg_12h: '26637.33'
345
- volume_btc: '5.87832237'
346
- avg_24h: '25653.35'
347
- rates:
348
- last: '24783.10'
349
- BRL:
350
- avg_12h: '3628.62'
351
- volume_btc: '27.06075754'
352
- avg_24h: '3659.26'
353
- rates:
354
- last: '3642.73'
355
- avg_6h: '3556.61'
356
- MAD:
357
- avg_12h: '10414.95'
358
- volume_btc: '13.95806537'
359
- avg_24h: '10826.43'
360
- rates:
361
- last: '10432.89'
362
- avg_6h: '10432.89'
363
- PLN:
364
- avg_12h: '4007.25'
365
- volume_btc: '2.04381087'
366
- avg_24h: '4072.29'
367
- rates:
368
- last: '4007.25'
369
- PHP:
370
- avg_12h: '54572.84'
371
- volume_btc: '4.45158639'
372
- avg_24h: '52493.20'
373
- rates:
374
- last: '54806.71'
375
- avg_6h: '54572.84'
376
- ZAR:
377
- avg_12h: '14686.02'
378
- volume_btc: '61.30982790'
379
- avg_24h: '14433.43'
380
- rates:
381
- last: '14919.00'