money-open-exchange-rates 0.2.0 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.markdown +7 -0
- data/lib/money/bank/open_exchange_rates_bank.rb +1 -4
- data/test/latest.json +175 -166
- data/test/open_exchange_rates_bank_test.rb +35 -7
- metadata +46 -63
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 78e5f382a89d63ca2810fc5fe93b373bdfe0dd2b
|
4
|
+
data.tar.gz: c8262bcd25e9a5295c37db99fe197d9ae23a1e55
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ec7b0fca5d35cc3427a434e97ec5a8f7d2c3a2f52bbbc37df7178e4b99c7d7b386a429489ebbd18a1b9142ed31d2fd9492b7f2557330cdc3b4bce77bff36ce7c
|
7
|
+
data.tar.gz: 7eb57b17c948ecdc2e83b951dfb2c6ce0fae81e242c32129788ead04fa1eb3fe75120c38c44d3f49393c52e2bcca85f4478108be3966ee9910a85df495c9cf68
|
data/README.markdown
CHANGED
@@ -16,6 +16,8 @@ moe.update_rates
|
|
16
16
|
# set the seconds after than the current rates are automatically expired
|
17
17
|
# by default, they never expire
|
18
18
|
moe.ttl_in_seconds = 86400
|
19
|
+
# Store in cache
|
20
|
+
moe.save_rates
|
19
21
|
|
20
22
|
Money.default_bank = moe
|
21
23
|
~~~
|
@@ -67,3 +69,8 @@ Fabio Cantoni (1)
|
|
67
69
|
The MIT License
|
68
70
|
|
69
71
|
Copyright © 2014 Laurent Arnoud <laurent@spkdev.net>
|
72
|
+
|
73
|
+
---
|
74
|
+
[![Gem Version](https://badge.fury.io/rb/money-open-exchange-rates.svg)](https://rubygems.org/gems/money-open-exchange-rates)
|
75
|
+
[![Build Status](https://secure.travis-ci.org/spk/money-open-exchange-rates.svg?branch=master)](https://travis-ci.org/spk/money-open-exchange-rates)
|
76
|
+
[![Code Climate](http://img.shields.io/codeclimate/github/spk/money-open-exchange-rates.svg)](https://codeclimate.com/github/spk/money-open-exchange-rates)
|
@@ -27,6 +27,7 @@ class Money
|
|
27
27
|
currency = exchange_rate.first
|
28
28
|
next unless Money::Currency.find(currency)
|
29
29
|
set_rate('USD', currency, rate)
|
30
|
+
set_rate(currency, 'USD', 1.0/rate)
|
30
31
|
end
|
31
32
|
end
|
32
33
|
|
@@ -63,8 +64,6 @@ class Money
|
|
63
64
|
open(cache, 'w') do |f|
|
64
65
|
f.write(text)
|
65
66
|
end
|
66
|
-
else
|
67
|
-
nil
|
68
67
|
end
|
69
68
|
end
|
70
69
|
|
@@ -73,8 +72,6 @@ class Money
|
|
73
72
|
cache.call(nil)
|
74
73
|
elsif cache.is_a?(String) && File.exist?(cache)
|
75
74
|
open(cache).read
|
76
|
-
else
|
77
|
-
nil
|
78
75
|
end
|
79
76
|
end
|
80
77
|
|
data/test/latest.json
CHANGED
@@ -1,167 +1,176 @@
|
|
1
1
|
{
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
2
|
+
"disclaimer": "Exchange rates are provided for informational purposes only, and do not constitute financial advice of any kind. Although every attempt is made to ensure quality, NO guarantees are given whatsoever of accuracy, validity, availability, or fitness for any purpose - please use at your own risk. All usage is subject to your acceptance of the Terms and Conditions of Service, available at: https://openexchangerates.org/terms/",
|
3
|
+
"license": "Data sourced from various providers with public-facing APIs; copyright may apply; resale is prohibited; no warranties given of any kind. Bitcoin data provided by http://coindesk.com. All usage is subject to your acceptance of the License Agreement available at: https://openexchangerates.org/license/",
|
4
|
+
"timestamp": 1414008044,
|
5
|
+
"base": "USD",
|
6
|
+
"rates": {
|
7
|
+
"AED": 3.67304,
|
8
|
+
"AFN": 57.358675,
|
9
|
+
"ALL": 109.7944,
|
10
|
+
"AMD": 410.435999,
|
11
|
+
"ANG": 1.787,
|
12
|
+
"AOA": 98.848749,
|
13
|
+
"ARS": 8.487628,
|
14
|
+
"AUD": 1.139103,
|
15
|
+
"AWG": 1.79,
|
16
|
+
"AZN": 0.784133,
|
17
|
+
"BAM": 1.543634,
|
18
|
+
"BBD": 2,
|
19
|
+
"BDT": 77.529359,
|
20
|
+
"BGN": 1.543547,
|
21
|
+
"BHD": 0.37701,
|
22
|
+
"BIF": 1562.095033,
|
23
|
+
"BMD": 1,
|
24
|
+
"BND": 1.27464,
|
25
|
+
"BOB": 6.925204,
|
26
|
+
"BRL": 2.47948,
|
27
|
+
"BSD": 1,
|
28
|
+
"BTC": 0.0026320984,
|
29
|
+
"BTN": 61.228987,
|
30
|
+
"BWP": 9.147443,
|
31
|
+
"BYR": 10684.733333,
|
32
|
+
"BZD": 2.002329,
|
33
|
+
"CAD": 1.124161,
|
34
|
+
"CDF": 927.8525,
|
35
|
+
"CHF": 0.951922,
|
36
|
+
"CLF": 0.024125,
|
37
|
+
"CLP": 585.152205,
|
38
|
+
"CNY": 6.12408,
|
39
|
+
"COP": 2053.646667,
|
40
|
+
"CRC": 540.861002,
|
41
|
+
"CUP": 1.00285,
|
42
|
+
"CVE": 86.484962,
|
43
|
+
"CZK": 21.84383,
|
44
|
+
"DJF": 179.192001,
|
45
|
+
"DKK": 5.876989,
|
46
|
+
"DOP": 43.87101,
|
47
|
+
"DZD": 83.49973,
|
48
|
+
"EEK": 12.123783,
|
49
|
+
"EGP": 7.15009,
|
50
|
+
"ERN": 15.062575,
|
51
|
+
"ETB": 20.0448,
|
52
|
+
"EUR": 0.79085,
|
53
|
+
"FJD": 1.913619,
|
54
|
+
"FKP": 0.62292,
|
55
|
+
"GBP": 0.62292,
|
56
|
+
"GEL": 1.75667,
|
57
|
+
"GGP": 0.62292,
|
58
|
+
"GHS": 3.236788,
|
59
|
+
"GIP": 0.62292,
|
60
|
+
"GMD": 42.7615,
|
61
|
+
"GNF": 7020.338333,
|
62
|
+
"GTQ": 7.633612,
|
63
|
+
"GYD": 205.966249,
|
64
|
+
"HKD": 7.757312,
|
65
|
+
"HNL": 21.2587,
|
66
|
+
"HRK": 6.052094,
|
67
|
+
"HTG": 45.02056,
|
68
|
+
"HUF": 242.459499,
|
69
|
+
"IDR": 12026.1,
|
70
|
+
"ILS": 3.749806,
|
71
|
+
"IMP": 0.62292,
|
72
|
+
"INR": 61.19676,
|
73
|
+
"IQD": 1164.606683,
|
74
|
+
"IRR": 26653.333333,
|
75
|
+
"ISK": 120.710601,
|
76
|
+
"JEP": 0.62292,
|
77
|
+
"JMD": 112.437199,
|
78
|
+
"JOD": 0.709502,
|
79
|
+
"JPY": 107.0718,
|
80
|
+
"KES": 89.10705,
|
81
|
+
"KGS": 55.59835,
|
82
|
+
"KHR": 4080.881667,
|
83
|
+
"KMF": 388.054415,
|
84
|
+
"KPW": 900,
|
85
|
+
"KRW": 1053.206683,
|
86
|
+
"KWD": 0.289201,
|
87
|
+
"KYD": 0.828588,
|
88
|
+
"KZT": 181.060901,
|
89
|
+
"LAK": 8045.915,
|
90
|
+
"LBP": 1512.74,
|
91
|
+
"LKR": 130.7471,
|
92
|
+
"LRD": 91.49085,
|
93
|
+
"LSL": 11.04714,
|
94
|
+
"LTL": 2.725286,
|
95
|
+
"LVL": 0.553659,
|
96
|
+
"LYD": 1.220625,
|
97
|
+
"MAD": 8.749158,
|
98
|
+
"MDL": 14.62124,
|
99
|
+
"MGA": 2714.17,
|
100
|
+
"MKD": 48.60542,
|
101
|
+
"MMK": 995.360667,
|
102
|
+
"MNT": 1847.666667,
|
103
|
+
"MOP": 8.018238,
|
104
|
+
"MRO": 292.060819,
|
105
|
+
"MTL": 0.683602,
|
106
|
+
"MUR": 31.48579,
|
107
|
+
"MVR": 15.40073,
|
108
|
+
"MWK": 444.284398,
|
109
|
+
"MXN": 13.5487,
|
110
|
+
"MYR": 3.269107,
|
111
|
+
"MZN": 31.2607,
|
112
|
+
"NAD": 11.05152,
|
113
|
+
"NGN": 165.393501,
|
114
|
+
"NIO": 26.49447,
|
115
|
+
"NOK": 6.602763,
|
116
|
+
"NPR": 98.470429,
|
117
|
+
"NZD": 1.261264,
|
118
|
+
"OMR": 0.384988,
|
119
|
+
"PAB": 1,
|
120
|
+
"PEN": 2.905639,
|
121
|
+
"PGK": 2.522419,
|
122
|
+
"PHP": 44.7887,
|
123
|
+
"PKR": 102.92026,
|
124
|
+
"PLN": 3.338394,
|
125
|
+
"PYG": 4593.726712,
|
126
|
+
"QAR": 3.641484,
|
127
|
+
"RON": 3.491548,
|
128
|
+
"RSD": 94.245449,
|
129
|
+
"RUB": 41.30719,
|
130
|
+
"RWF": 692.8393,
|
131
|
+
"SAR": 3.75186,
|
132
|
+
"SBD": 7.375145,
|
133
|
+
"SCR": 13.95762,
|
134
|
+
"SDG": 5.692595,
|
135
|
+
"SEK": 7.256239,
|
136
|
+
"SGD": 1.272179,
|
137
|
+
"SHP": 0.62292,
|
138
|
+
"SLL": 4348,
|
139
|
+
"SOS": 784.61004,
|
140
|
+
"SRD": 3.308533,
|
141
|
+
"STD": 19310.7,
|
142
|
+
"SVC": 8.76275,
|
143
|
+
"SYP": 163.173334,
|
144
|
+
"SZL": 11.02216,
|
145
|
+
"THB": 32.31753,
|
146
|
+
"TJS": 4.9945,
|
147
|
+
"TMT": 2.850167,
|
148
|
+
"TND": 1.803609,
|
149
|
+
"TOP": 1.960978,
|
150
|
+
"TRY": 2.246652,
|
151
|
+
"TTD": 6.354219,
|
152
|
+
"TWD": 30.38584,
|
153
|
+
"TZS": 1699.763333,
|
154
|
+
"UAH": 12.98551,
|
155
|
+
"UGX": 2698.625,
|
156
|
+
"USD": 1,
|
157
|
+
"UYU": 24.32584,
|
158
|
+
"UZS": 2380.74002,
|
159
|
+
"VEF": 6.296023,
|
160
|
+
"VND": 21240,
|
161
|
+
"VUV": 98.390001,
|
162
|
+
"WST": 2.368291,
|
163
|
+
"XAF": 517.617625,
|
164
|
+
"XAG": 0.05824598,
|
165
|
+
"XAU": 0.00080504,
|
166
|
+
"XCD": 2.70152,
|
167
|
+
"XDR": 0.672499,
|
168
|
+
"XOF": 517.692218,
|
169
|
+
"XPF": 94.20832,
|
170
|
+
"YER": 215.0424,
|
171
|
+
"ZAR": 11.00547,
|
172
|
+
"ZMK": 5252.024745,
|
173
|
+
"ZMW": 6.38507,
|
174
|
+
"ZWL": 322.355006
|
175
|
+
}
|
176
|
+
}
|
@@ -14,19 +14,47 @@ describe Money::Bank::OpenExchangeRatesBank do
|
|
14
14
|
subject.app_id = TEST_APP_ID
|
15
15
|
@temp_cache_path = File.expand_path(File.join(File.dirname(__FILE__), 'tmp.json'))
|
16
16
|
subject.cache = @temp_cache_path
|
17
|
-
stub(
|
17
|
+
stub(subject).read_from_url { File.read @cache_path }
|
18
18
|
subject.save_rates
|
19
19
|
end
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
after do
|
22
|
+
File.unlink(@temp_cache_path)
|
23
|
+
end
|
24
|
+
|
25
|
+
describe "without rates" do
|
26
|
+
it "should be able to exchange a money to its own currency even without rates" do
|
27
|
+
money = Money.new(0, "USD")
|
28
|
+
subject.exchange_with(money, "USD").must_equal money
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should raise if it can't find an exchange rate" do
|
32
|
+
money = Money.new(0, "USD")
|
33
|
+
proc { subject.exchange_with(money, "SSP") }.must_raise Money::Bank::UnknownRate
|
34
|
+
end
|
24
35
|
end
|
25
36
|
|
26
|
-
|
27
|
-
|
28
|
-
|
37
|
+
describe "with rates" do
|
38
|
+
before do
|
39
|
+
subject.update_rates
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should be able to exchange money from USD to a known exchange rate" do
|
43
|
+
money = Money.new(100, "USD")
|
44
|
+
subject.exchange_with(money, "BBD").must_equal Money.new(200, 'BBD')
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should be able to exchange money from a known exchange rate to USD" do
|
48
|
+
money = Money.new(200, "BBD")
|
49
|
+
subject.exchange_with(money, "USD").must_equal Money.new(100, 'USD')
|
50
|
+
end
|
51
|
+
|
52
|
+
it "should raise if it can't find an exchange rate" do
|
53
|
+
money = Money.new(0, "USD")
|
54
|
+
proc { subject.exchange_with(money, "SSP") }.must_raise Money::Bank::UnknownRate
|
55
|
+
end
|
29
56
|
end
|
57
|
+
|
30
58
|
end
|
31
59
|
|
32
60
|
describe 'update_rates' do
|
metadata
CHANGED
@@ -1,144 +1,127 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: money-open-exchange-rates
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Laurent Arnoud
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-12-21 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: money
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 6.
|
19
|
+
version: '6.5'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 6.
|
26
|
+
version: '6.5'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: monetize
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version:
|
33
|
+
version: '1.1'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- - ~>
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version:
|
40
|
+
version: '1.1'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: json
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.8'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.8'
|
46
55
|
- !ruby/object:Gem::Dependency
|
47
56
|
name: minitest
|
48
57
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
58
|
requirements:
|
51
|
-
- -
|
59
|
+
- - "~>"
|
52
60
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
61
|
+
version: '5.5'
|
54
62
|
type: :development
|
55
63
|
prerelease: false
|
56
64
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
65
|
requirements:
|
59
|
-
- -
|
66
|
+
- - "~>"
|
60
67
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
68
|
+
version: '5.5'
|
62
69
|
- !ruby/object:Gem::Dependency
|
63
70
|
name: pry
|
64
71
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
72
|
requirements:
|
67
|
-
- -
|
73
|
+
- - "~>"
|
68
74
|
- !ruby/object:Gem::Version
|
69
75
|
version: '0'
|
70
76
|
type: :development
|
71
77
|
prerelease: false
|
72
78
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
79
|
requirements:
|
75
|
-
- -
|
80
|
+
- - "~>"
|
76
81
|
- !ruby/object:Gem::Version
|
77
82
|
version: '0'
|
78
83
|
- !ruby/object:Gem::Dependency
|
79
84
|
name: rr
|
80
85
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
86
|
requirements:
|
83
|
-
- -
|
87
|
+
- - "~>"
|
84
88
|
- !ruby/object:Gem::Version
|
85
|
-
version: 1.
|
89
|
+
version: '1.1'
|
86
90
|
type: :development
|
87
91
|
prerelease: false
|
88
92
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
93
|
requirements:
|
91
|
-
- -
|
94
|
+
- - "~>"
|
92
95
|
- !ruby/object:Gem::Version
|
93
|
-
version: 1.
|
96
|
+
version: '1.1'
|
94
97
|
- !ruby/object:Gem::Dependency
|
95
98
|
name: rake
|
96
99
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
100
|
requirements:
|
99
|
-
- -
|
101
|
+
- - "~>"
|
100
102
|
- !ruby/object:Gem::Version
|
101
103
|
version: '0'
|
102
104
|
type: :development
|
103
105
|
prerelease: false
|
104
106
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
107
|
requirements:
|
107
|
-
- -
|
108
|
+
- - "~>"
|
108
109
|
- !ruby/object:Gem::Version
|
109
110
|
version: '0'
|
110
111
|
- !ruby/object:Gem::Dependency
|
111
112
|
name: timecop
|
112
113
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
121
|
requirements:
|
123
|
-
- -
|
122
|
+
- - "~>"
|
124
123
|
- !ruby/object:Gem::Version
|
125
124
|
version: '0'
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: json
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
|
-
requirements:
|
131
|
-
- - ! '>='
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version: '1.7'
|
134
|
-
type: :runtime
|
135
|
-
prerelease: false
|
136
|
-
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
|
-
requirements:
|
139
|
-
- - ! '>='
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: '1.7'
|
142
125
|
description: A gem that calculates the exchange rate using published rates from open-exchange-rates.
|
143
126
|
Compatible with the money gem.
|
144
127
|
email: laurent@spkdev.net
|
@@ -147,37 +130,37 @@ extensions: []
|
|
147
130
|
extra_rdoc_files:
|
148
131
|
- README.markdown
|
149
132
|
files:
|
133
|
+
- Gemfile
|
150
134
|
- LICENSE
|
151
135
|
- README.markdown
|
152
|
-
- Gemfile
|
153
136
|
- lib/money/bank/open_exchange_rates_bank.rb
|
154
|
-
- test/open_exchange_rates_bank_test.rb
|
155
137
|
- test/latest.json
|
138
|
+
- test/open_exchange_rates_bank_test.rb
|
156
139
|
- test/test_helper.rb
|
157
140
|
homepage: http://github.com/spk/money-open-exchange-rates
|
158
141
|
licenses:
|
159
142
|
- MIT
|
143
|
+
metadata: {}
|
160
144
|
post_install_message:
|
161
145
|
rdoc_options: []
|
162
146
|
require_paths:
|
163
147
|
- lib
|
164
148
|
required_ruby_version: !ruby/object:Gem::Requirement
|
165
|
-
none: false
|
166
149
|
requirements:
|
167
|
-
- -
|
150
|
+
- - ">="
|
168
151
|
- !ruby/object:Gem::Version
|
169
152
|
version: 1.9.2
|
170
153
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
171
|
-
none: false
|
172
154
|
requirements:
|
173
|
-
- -
|
155
|
+
- - ">="
|
174
156
|
- !ruby/object:Gem::Version
|
175
157
|
version: '0'
|
176
158
|
requirements: []
|
177
159
|
rubyforge_project:
|
178
|
-
rubygems_version:
|
160
|
+
rubygems_version: 2.2.2
|
179
161
|
signing_key:
|
180
|
-
specification_version:
|
162
|
+
specification_version: 4
|
181
163
|
summary: A gem that calculates the exchange rate using published rates from open-exchange-rates.
|
182
164
|
test_files:
|
183
165
|
- test/open_exchange_rates_bank_test.rb
|
166
|
+
has_rdoc:
|