currency-rate 1.0.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/currency-rate.gemspec +7 -3
- data/lib/adapter.rb +6 -1
- data/lib/adapters/fiat/currency_layer_adapter.rb +30 -0
- data/spec/fixtures/adapters/currency_layer_adapter.yml +174 -0
- data/spec/fixtures/adapters/normalized/currency_layer_adapter.yml +169 -0
- data/spec/lib/adapters/fiat/currency_layer_adapter_spec.rb +23 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b4f9d88dac87ee1c8fec51965ae55a35f3b36df
|
4
|
+
data.tar.gz: 7b34cf4aeb7eca8ccfffe8aaa992eb8a267e173c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f77e137eeac0e9b41feb9072a787c37153fa825a8bcd2f5ae63c596b2592bc884a90cda9ad83dd25cbd553de9d55091c9b0e4273efecd7b4e37e9a86f11c85a4
|
7
|
+
data.tar.gz: a910962dcd6b330e4349ca99aca546c916d70c52d7021c2e40c007e96285a8f3ea3d54dd8a24fca90a03a07db26ab3d0ef4ffd60489d1a7d55c6a448e25eb7b9
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.1.1
|
data/currency-rate.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: currency-rate 1.
|
5
|
+
# stub: currency-rate 1.1.0 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "currency-rate".freeze
|
9
|
-
s.version = "1.
|
9
|
+
s.version = "1.1.0"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib".freeze]
|
13
13
|
s.authors = ["Roman Snitko".freeze]
|
14
|
-
s.date = "2017-
|
14
|
+
s.date = "2017-11-13"
|
15
15
|
s.description = "Fetches exchange rates from various sources and does the conversion".freeze
|
16
16
|
s.email = "roman.snitko@gmail.com".freeze
|
17
17
|
s.extra_rdoc_files = [
|
@@ -38,6 +38,7 @@ Gem::Specification.new do |s|
|
|
38
38
|
"lib/adapters/crypto/kraken_adapter.rb",
|
39
39
|
"lib/adapters/crypto/localbitcoins_adapter.rb",
|
40
40
|
"lib/adapters/crypto/okcoin_adapter.rb",
|
41
|
+
"lib/adapters/fiat/currency_layer_adapter.rb",
|
41
42
|
"lib/adapters/fiat/fixer_adapter.rb",
|
42
43
|
"lib/adapters/fiat/forge_adapter.rb",
|
43
44
|
"lib/adapters/fiat/yahoo_adapter.rb",
|
@@ -53,6 +54,7 @@ Gem::Specification.new do |s|
|
|
53
54
|
"spec/fixtures/adapters/btc_china_adapter.yml",
|
54
55
|
"spec/fixtures/adapters/btce_adapter.yml",
|
55
56
|
"spec/fixtures/adapters/coinbase_adapter.yml",
|
57
|
+
"spec/fixtures/adapters/currency_layer_adapter.yml",
|
56
58
|
"spec/fixtures/adapters/fixer_adapter.yml",
|
57
59
|
"spec/fixtures/adapters/forge_adapter.yml",
|
58
60
|
"spec/fixtures/adapters/huobi_adapter.yml",
|
@@ -64,6 +66,7 @@ Gem::Specification.new do |s|
|
|
64
66
|
"spec/fixtures/adapters/normalized/btc_china_adapter.yml",
|
65
67
|
"spec/fixtures/adapters/normalized/btce_adapter.yml",
|
66
68
|
"spec/fixtures/adapters/normalized/coinbase_adapter.yml",
|
69
|
+
"spec/fixtures/adapters/normalized/currency_layer_adapter.yml",
|
67
70
|
"spec/fixtures/adapters/normalized/fixer_adapter.yml",
|
68
71
|
"spec/fixtures/adapters/normalized/forge_adapter.yml",
|
69
72
|
"spec/fixtures/adapters/normalized/huobi_adapter.yml",
|
@@ -84,6 +87,7 @@ Gem::Specification.new do |s|
|
|
84
87
|
"spec/lib/adapters/crypto/kraken_adapter_spec.rb",
|
85
88
|
"spec/lib/adapters/crypto/localbitcoins_adapter_spec.rb",
|
86
89
|
"spec/lib/adapters/crypto/okcoin_adapter_spec.rb",
|
90
|
+
"spec/lib/adapters/fiat/currency_layer_adapter_spec.rb",
|
87
91
|
"spec/lib/adapters/fiat/fixer_adapter_spec.rb",
|
88
92
|
"spec/lib/adapters/fiat/forge_adapter_spec.rb",
|
89
93
|
"spec/lib/adapters/fiat/yahoo_adapter_spec.rb",
|
data/lib/adapter.rb
CHANGED
@@ -50,7 +50,12 @@ module CurrencyRate
|
|
50
50
|
fetch_url = url
|
51
51
|
if self.class::API_KEY_PARAM
|
52
52
|
api_key = CurrencyRate.configuration.api_keys[self.name]
|
53
|
-
|
53
|
+
if api_key.nil?
|
54
|
+
CurrencyRate.logger.error("API key for #{self.name} not defined")
|
55
|
+
return nil
|
56
|
+
end
|
57
|
+
param_symbol = fetch_url.split("/").last.include?("?") ? "&" : "?"
|
58
|
+
fetch_url << "#{param_symbol}#{self.class::API_KEY_PARAM}=#{api_key}" if api_key
|
54
59
|
end
|
55
60
|
http_client = HTTP.timeout(connect: 4, read: 4)
|
56
61
|
JSON.parse(http_client.get(fetch_url).to_s)
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module CurrencyRate
|
2
|
+
class CurrencyLayerAdapter < Adapter
|
3
|
+
# No need to use it for fetching, just additional information about supported currencies
|
4
|
+
SUPPORTED_CURRENCIES = %w(AED AFN ALL AMD ANG AOA ARS AUD AWG AZN BAM BBD BDT BGN
|
5
|
+
BHD BIF BMD BND BOB BRL BSD BTC BTN BWP BYN BYR BZD CAD
|
6
|
+
CDF CHF CLF CLP CNY COP CRC CUC CUP CVE CZK DJF DKK DOP
|
7
|
+
DZD EGP ERN ETB EUR FJD FKP GBP GEL GGP GHS GIP GMD GNF
|
8
|
+
GTQ GYD HKD HNL HRK HTG HUF IDR ILS IMP INR IQD IRR ISK
|
9
|
+
JEP JMD JOD JPY KES KGS KHR KMF KPW KRW KWD KYD KZT LAK
|
10
|
+
LBP LKR LRD LSL LTL LVL LYD MAD MDL MGA MKD MMK MNT MOP
|
11
|
+
MRO MUR MVR MWK MXN MYR MZN NAD NGN NIO NOK NPR NZD OMR
|
12
|
+
PAB PEN PGK PHP PKR PLN PYG QAR RON RSD RUB RWF SAR SBD
|
13
|
+
SCR SDG SEK SGD SHP SLL SOS SRD STD SVC SYP SZL THB TJS
|
14
|
+
TMT TND TOP TRY TTD TWD TZS UAH UGX USD UYU UZS VEF VND
|
15
|
+
VUV WST XAF XAG XAU XCD XDR XOF XPF YER ZAR ZMK ZMW ZWL)
|
16
|
+
|
17
|
+
ANCHOR_CURRENCY = "USD"
|
18
|
+
FETCH_URL = "http://www.apilayer.net/api/live"
|
19
|
+
API_KEY_PARAM = "access_key"
|
20
|
+
|
21
|
+
def normalize(data)
|
22
|
+
return nil unless super
|
23
|
+
rates = { "anchor" => self.class::ANCHOR_CURRENCY }
|
24
|
+
data["quotes"].each do |key, value|
|
25
|
+
rates[key.sub(self.class::ANCHOR_CURRENCY, "")] = BigDecimal.new(value.to_s)
|
26
|
+
end
|
27
|
+
rates
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,174 @@
|
|
1
|
+
success: true
|
2
|
+
terms: https://currencylayer.com/terms
|
3
|
+
privacy: https://currencylayer.com/privacy
|
4
|
+
timestamp: 1510576149
|
5
|
+
source: USD
|
6
|
+
quotes:
|
7
|
+
USDAED: 3.672899
|
8
|
+
USDAFN: 68.559998
|
9
|
+
USDALL: 114.239998
|
10
|
+
USDAMD: 487.070007
|
11
|
+
USDANG: 1.779787
|
12
|
+
USDAOA: 165.097026
|
13
|
+
USDARS: 17.478958
|
14
|
+
USDAUD: 1.307606
|
15
|
+
USDAWG: 1.78
|
16
|
+
USDAZN: 1.6997
|
17
|
+
USDBAM: 1.680301
|
18
|
+
USDBBD: 2
|
19
|
+
USDBDT: 83.139999
|
20
|
+
USDBGN: 1.678295
|
21
|
+
USDBHD: 0.377704
|
22
|
+
USDBIF: 1742.97998
|
23
|
+
USDBMD: 1
|
24
|
+
USDBND: 1.360602
|
25
|
+
USDBOB: 6.859658
|
26
|
+
USDBRL: 3.285801
|
27
|
+
USDBSD: 1
|
28
|
+
USDBTC: 0.000153
|
29
|
+
USDBTN: 64.949997
|
30
|
+
USDBWP: 10.633303
|
31
|
+
USDBYN: 1.969768
|
32
|
+
USDBYR: 19600
|
33
|
+
USDBZD: 1.997703
|
34
|
+
USDCAD: 1.26981
|
35
|
+
USDCDF: 1565.502481
|
36
|
+
USDCHF: 0.99374
|
37
|
+
USDCLF: 0.02351
|
38
|
+
USDCLP: 632.960022
|
39
|
+
USDCNY: 6.639197
|
40
|
+
USDCOP: 3007.5
|
41
|
+
USDCRC: 566.400024
|
42
|
+
USDCUC: 1
|
43
|
+
USDCUP: 26.5
|
44
|
+
USDCVE: 94.589996
|
45
|
+
USDCZK: 21.927499
|
46
|
+
USDDJF: 176.830002
|
47
|
+
USDDKK: 6.38358
|
48
|
+
USDDOP: 47.299999
|
49
|
+
USDDZD: 114.920998
|
50
|
+
USDEGP: 17.64496
|
51
|
+
USDERN: 15.279785
|
52
|
+
USDETB: 27.084299
|
53
|
+
USDEUR: 0.857399
|
54
|
+
USDFJD: 2.079752
|
55
|
+
USDFKP: 0.761599
|
56
|
+
USDGBP: 0.76409
|
57
|
+
USDGEL: 2.639904
|
58
|
+
USDGGP: 0.763974
|
59
|
+
USDGHS: 4.448505
|
60
|
+
USDGIP: 0.761801
|
61
|
+
USDGMD: 46.869999
|
62
|
+
USDGNF: 8995.00018
|
63
|
+
USDGTQ: 7.341983
|
64
|
+
USDGYD: 204.399994
|
65
|
+
USDHKD: 7.79966
|
66
|
+
USDHNL: 23.500999
|
67
|
+
USDHRK: 6.457401
|
68
|
+
USDHTG: 61.959999
|
69
|
+
USDHUF: 267.600006
|
70
|
+
USDIDR: 13550
|
71
|
+
USDILS: 3.540102
|
72
|
+
USDIMP: 0.763974
|
73
|
+
USDINR: 65.418999
|
74
|
+
USDIQD: 1167
|
75
|
+
USDIRR: 35248.999607
|
76
|
+
USDISK: 103.489998
|
77
|
+
USDJEP: 0.763974
|
78
|
+
USDJMD: 125.940002
|
79
|
+
USDJOD: 0.707504
|
80
|
+
USDJPY: 113.294998
|
81
|
+
USDKES: 103.349998
|
82
|
+
USDKGS: 69.723999
|
83
|
+
USDKHR: 4035.000398
|
84
|
+
USDKMF: 423.380005
|
85
|
+
USDKPW: 899.999782
|
86
|
+
USDKRW: 1117.569946
|
87
|
+
USDKWD: 0.302197
|
88
|
+
USDKYD: 0.82027
|
89
|
+
USDKZT: 332.959991
|
90
|
+
USDLAK: 8301.999725
|
91
|
+
USDLBP: 1505.400024
|
92
|
+
USDLKR: 153.600006
|
93
|
+
USDLRD: 122.679782
|
94
|
+
USDLSL: 14.364981
|
95
|
+
USDLTL: 3.048703
|
96
|
+
USDLVL: 0.62055
|
97
|
+
USDLYD: 1.374302
|
98
|
+
USDMAD: 9.485697
|
99
|
+
USDMDL: 17.527008
|
100
|
+
USDMGA: 3159.999975
|
101
|
+
USDMKD: 52.529999
|
102
|
+
USDMMK: 1363.000068
|
103
|
+
USDMNT: 2445.999784
|
104
|
+
USDMOP: 8.033203
|
105
|
+
USDMRO: 351.000172
|
106
|
+
USDMUR: 34.229818
|
107
|
+
USDMVR: 15.570375
|
108
|
+
USDMWK: 716.349976
|
109
|
+
USDMXN: 19.156401
|
110
|
+
USDMYR: 4.190017
|
111
|
+
USDMZN: 60.290001
|
112
|
+
USDNAD: 14.508944
|
113
|
+
USDNGN: 351.999683
|
114
|
+
USDNIO: 30.593497
|
115
|
+
USDNOK: 8.13997
|
116
|
+
USDNPR: 103.550003
|
117
|
+
USDNZD: 1.446698
|
118
|
+
USDOMR: 0.384799
|
119
|
+
USDPAB: 1
|
120
|
+
USDPEN: 3.2405
|
121
|
+
USDPGK: 3.187302
|
122
|
+
USDPHP: 51.200001
|
123
|
+
USDPKR: 105.330002
|
124
|
+
USDPLN: 3.632982
|
125
|
+
USDPYG: 5650.299805
|
126
|
+
USDQAR: 3.8048
|
127
|
+
USDRON: 3.991896
|
128
|
+
USDRSD: 101.433197
|
129
|
+
USDRUB: 59.377899
|
130
|
+
USDRWF: 832.289978
|
131
|
+
USDSAR: 3.750097
|
132
|
+
USDSBD: 7.797797
|
133
|
+
USDSCR: 13.597994
|
134
|
+
USDSDG: 6.659702
|
135
|
+
USDSEK: 8.37478
|
136
|
+
USDSGD: 1.36123
|
137
|
+
USDSHP: 0.761799
|
138
|
+
USDSLL: 7619.999811
|
139
|
+
USDSOS: 556.999519
|
140
|
+
USDSRD: 7.379938
|
141
|
+
USDSTD: 21017.400391
|
142
|
+
USDSVC: 8.749931
|
143
|
+
USDSYP: 514.97998
|
144
|
+
USDSZL: 14.520974
|
145
|
+
USDTHB: 33.049999
|
146
|
+
USDTJS: 8.805597
|
147
|
+
USDTMT: 3.41
|
148
|
+
USDTND: 2.515011
|
149
|
+
USDTOP: 2.272801
|
150
|
+
USDTRY: 3.877202
|
151
|
+
USDTTD: 6.741992
|
152
|
+
USDTWD: 30.176001
|
153
|
+
USDTZS: 2236.999921
|
154
|
+
USDUAH: 26.469999
|
155
|
+
USDUGX: 3644.999878
|
156
|
+
USDUSD: 1
|
157
|
+
USDUYU: 29.169966
|
158
|
+
USDUZS: 8049.999597
|
159
|
+
USDVEF: 9.975012
|
160
|
+
USDVND: 22710
|
161
|
+
USDVUV: 106.010002
|
162
|
+
USDWST: 2.5708
|
163
|
+
USDXAF: 562.280029
|
164
|
+
USDXAG: 0.059138
|
165
|
+
USDXAU: 0.000782
|
166
|
+
USDXCD: 2.702368
|
167
|
+
USDXDR: 0.712515
|
168
|
+
USDXOF: 562.570007
|
169
|
+
USDXPF: 102.309777
|
170
|
+
USDYER: 249.949997
|
171
|
+
USDZAR: 14.523701
|
172
|
+
USDZMK: 9001.198647
|
173
|
+
USDZMW: 9.88006
|
174
|
+
USDZWL: 322.355011
|
@@ -0,0 +1,169 @@
|
|
1
|
+
anchor: USD
|
2
|
+
AED: 3.672899
|
3
|
+
AFN: 68.559998
|
4
|
+
ALL: 114.239998
|
5
|
+
AMD: 487.070007
|
6
|
+
ANG: 1.779787
|
7
|
+
AOA: 165.097026
|
8
|
+
ARS: 17.478958
|
9
|
+
AUD: 1.307606
|
10
|
+
AWG: 1.78
|
11
|
+
AZN: 1.6997
|
12
|
+
BAM: 1.680301
|
13
|
+
BBD: 2
|
14
|
+
BDT: 83.139999
|
15
|
+
BGN: 1.678295
|
16
|
+
BHD: 0.377704
|
17
|
+
BIF: 1742.97998
|
18
|
+
BMD: 1
|
19
|
+
BND: 1.360602
|
20
|
+
BOB: 6.859658
|
21
|
+
BRL: 3.285801
|
22
|
+
BSD: 1
|
23
|
+
BTC: 0.000153
|
24
|
+
BTN: 64.949997
|
25
|
+
BWP: 10.633303
|
26
|
+
BYN: 1.969768
|
27
|
+
BYR: 19600
|
28
|
+
BZD: 1.997703
|
29
|
+
CAD: 1.26981
|
30
|
+
CDF: 1565.502481
|
31
|
+
CHF: 0.99374
|
32
|
+
CLF: 0.02351
|
33
|
+
CLP: 632.960022
|
34
|
+
CNY: 6.639197
|
35
|
+
COP: 3007.5
|
36
|
+
CRC: 566.400024
|
37
|
+
CUC: 1
|
38
|
+
CUP: 26.5
|
39
|
+
CVE: 94.589996
|
40
|
+
CZK: 21.927499
|
41
|
+
DJF: 176.830002
|
42
|
+
DKK: 6.38358
|
43
|
+
DOP: 47.299999
|
44
|
+
DZD: 114.920998
|
45
|
+
EGP: 17.64496
|
46
|
+
ERN: 15.279785
|
47
|
+
ETB: 27.084299
|
48
|
+
EUR: 0.857399
|
49
|
+
FJD: 2.079752
|
50
|
+
FKP: 0.761599
|
51
|
+
GBP: 0.76409
|
52
|
+
GEL: 2.639904
|
53
|
+
GGP: 0.763974
|
54
|
+
GHS: 4.448505
|
55
|
+
GIP: 0.761801
|
56
|
+
GMD: 46.869999
|
57
|
+
GNF: 8995.00018
|
58
|
+
GTQ: 7.341983
|
59
|
+
GYD: 204.399994
|
60
|
+
HKD: 7.79966
|
61
|
+
HNL: 23.500999
|
62
|
+
HRK: 6.457401
|
63
|
+
HTG: 61.959999
|
64
|
+
HUF: 267.600006
|
65
|
+
IDR: 13550
|
66
|
+
ILS: 3.540102
|
67
|
+
IMP: 0.763974
|
68
|
+
INR: 65.418999
|
69
|
+
IQD: 1167
|
70
|
+
IRR: 35248.999607
|
71
|
+
ISK: 103.489998
|
72
|
+
JEP: 0.763974
|
73
|
+
JMD: 125.940002
|
74
|
+
JOD: 0.707504
|
75
|
+
JPY: 113.294998
|
76
|
+
KES: 103.349998
|
77
|
+
KGS: 69.723999
|
78
|
+
KHR: 4035.000398
|
79
|
+
KMF: 423.380005
|
80
|
+
KPW: 899.999782
|
81
|
+
KRW: 1117.569946
|
82
|
+
KWD: 0.302197
|
83
|
+
KYD: 0.82027
|
84
|
+
KZT: 332.959991
|
85
|
+
LAK: 8301.999725
|
86
|
+
LBP: 1505.400024
|
87
|
+
LKR: 153.600006
|
88
|
+
LRD: 122.679782
|
89
|
+
LSL: 14.364981
|
90
|
+
LTL: 3.048703
|
91
|
+
LVL: 0.62055
|
92
|
+
LYD: 1.374302
|
93
|
+
MAD: 9.485697
|
94
|
+
MDL: 17.527008
|
95
|
+
MGA: 3159.999975
|
96
|
+
MKD: 52.529999
|
97
|
+
MMK: 1363.000068
|
98
|
+
MNT: 2445.999784
|
99
|
+
MOP: 8.033203
|
100
|
+
MRO: 351.000172
|
101
|
+
MUR: 34.229818
|
102
|
+
MVR: 15.570375
|
103
|
+
MWK: 716.349976
|
104
|
+
MXN: 19.156401
|
105
|
+
MYR: 4.190017
|
106
|
+
MZN: 60.290001
|
107
|
+
NAD: 14.508944
|
108
|
+
NGN: 351.999683
|
109
|
+
NIO: 30.593497
|
110
|
+
NOK: 8.13997
|
111
|
+
NPR: 103.550003
|
112
|
+
NZD: 1.446698
|
113
|
+
OMR: 0.384799
|
114
|
+
PAB: 1
|
115
|
+
PEN: 3.2405
|
116
|
+
PGK: 3.187302
|
117
|
+
PHP: 51.200001
|
118
|
+
PKR: 105.330002
|
119
|
+
PLN: 3.632982
|
120
|
+
PYG: 5650.299805
|
121
|
+
QAR: 3.8048
|
122
|
+
RON: 3.991896
|
123
|
+
RSD: 101.433197
|
124
|
+
RUB: 59.377899
|
125
|
+
RWF: 832.289978
|
126
|
+
SAR: 3.750097
|
127
|
+
SBD: 7.797797
|
128
|
+
SCR: 13.597994
|
129
|
+
SDG: 6.659702
|
130
|
+
SEK: 8.37478
|
131
|
+
SGD: 1.36123
|
132
|
+
SHP: 0.761799
|
133
|
+
SLL: 7619.999811
|
134
|
+
SOS: 556.999519
|
135
|
+
SRD: 7.379938
|
136
|
+
STD: 21017.400391
|
137
|
+
SVC: 8.749931
|
138
|
+
SYP: 514.97998
|
139
|
+
SZL: 14.520974
|
140
|
+
THB: 33.049999
|
141
|
+
TJS: 8.805597
|
142
|
+
TMT: 3.41
|
143
|
+
TND: 2.515011
|
144
|
+
TOP: 2.272801
|
145
|
+
TRY: 3.877202
|
146
|
+
TTD: 6.741992
|
147
|
+
TWD: 30.176001
|
148
|
+
TZS: 2236.999921
|
149
|
+
UAH: 26.469999
|
150
|
+
UGX: 3644.999878
|
151
|
+
USD: 1
|
152
|
+
UYU: 29.169966
|
153
|
+
UZS: 8049.999597
|
154
|
+
VEF: 9.975012
|
155
|
+
VND: 22710
|
156
|
+
VUV: 106.010002
|
157
|
+
WST: 2.5708
|
158
|
+
XAF: 562.280029
|
159
|
+
XAG: 0.059138
|
160
|
+
XAU: 0.000782
|
161
|
+
XCD: 2.702368
|
162
|
+
XDR: 0.712515
|
163
|
+
XOF: 562.570007
|
164
|
+
XPF: 102.309777
|
165
|
+
YER: 249.949997
|
166
|
+
ZAR: 14.523701
|
167
|
+
ZMK: 9001.198647
|
168
|
+
ZMW: 9.88006
|
169
|
+
ZWL: 322.355011
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
RSpec.describe CurrencyRate::CurrencyLayerAdapter do
|
4
|
+
before(:all) { @data, @normalized = data_for :currency_layer }
|
5
|
+
|
6
|
+
before { stub_request(:get, /apilayer/).to_return(body: @data.to_json) }
|
7
|
+
|
8
|
+
before { @adapter = CurrencyRate::CurrencyLayerAdapter.instance }
|
9
|
+
|
10
|
+
describe "#normalize" do
|
11
|
+
it "brings data to canonical form" do
|
12
|
+
expect(@adapter.normalize(@data)).to eq(@normalized)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "#exchange_data" do
|
17
|
+
context "when api_key not defined" do
|
18
|
+
it "returns nil" do
|
19
|
+
expect(@adapter.exchange_data).to be_nil
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: currency-rate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roman Snitko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http
|
@@ -107,6 +107,7 @@ files:
|
|
107
107
|
- lib/adapters/crypto/kraken_adapter.rb
|
108
108
|
- lib/adapters/crypto/localbitcoins_adapter.rb
|
109
109
|
- lib/adapters/crypto/okcoin_adapter.rb
|
110
|
+
- lib/adapters/fiat/currency_layer_adapter.rb
|
110
111
|
- lib/adapters/fiat/fixer_adapter.rb
|
111
112
|
- lib/adapters/fiat/forge_adapter.rb
|
112
113
|
- lib/adapters/fiat/yahoo_adapter.rb
|
@@ -122,6 +123,7 @@ files:
|
|
122
123
|
- spec/fixtures/adapters/btc_china_adapter.yml
|
123
124
|
- spec/fixtures/adapters/btce_adapter.yml
|
124
125
|
- spec/fixtures/adapters/coinbase_adapter.yml
|
126
|
+
- spec/fixtures/adapters/currency_layer_adapter.yml
|
125
127
|
- spec/fixtures/adapters/fixer_adapter.yml
|
126
128
|
- spec/fixtures/adapters/forge_adapter.yml
|
127
129
|
- spec/fixtures/adapters/huobi_adapter.yml
|
@@ -133,6 +135,7 @@ files:
|
|
133
135
|
- spec/fixtures/adapters/normalized/btc_china_adapter.yml
|
134
136
|
- spec/fixtures/adapters/normalized/btce_adapter.yml
|
135
137
|
- spec/fixtures/adapters/normalized/coinbase_adapter.yml
|
138
|
+
- spec/fixtures/adapters/normalized/currency_layer_adapter.yml
|
136
139
|
- spec/fixtures/adapters/normalized/fixer_adapter.yml
|
137
140
|
- spec/fixtures/adapters/normalized/forge_adapter.yml
|
138
141
|
- spec/fixtures/adapters/normalized/huobi_adapter.yml
|
@@ -153,6 +156,7 @@ files:
|
|
153
156
|
- spec/lib/adapters/crypto/kraken_adapter_spec.rb
|
154
157
|
- spec/lib/adapters/crypto/localbitcoins_adapter_spec.rb
|
155
158
|
- spec/lib/adapters/crypto/okcoin_adapter_spec.rb
|
159
|
+
- spec/lib/adapters/fiat/currency_layer_adapter_spec.rb
|
156
160
|
- spec/lib/adapters/fiat/fixer_adapter_spec.rb
|
157
161
|
- spec/lib/adapters/fiat/forge_adapter_spec.rb
|
158
162
|
- spec/lib/adapters/fiat/yahoo_adapter_spec.rb
|