money-open-exchange-rates 0.4.1 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/History.md +20 -1
- data/LICENSE +1 -1
- data/README.md +25 -4
- data/lib/money/bank/open_exchange_rates_bank.rb +6 -4
- data/lib/open_exchange_rates_bank/version.rb +3 -1
- data/test/test_helper.rb +2 -2
- metadata +17 -60
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 49fa457e043bb1b5a72dfad8f43613bc2098cbf3
|
4
|
+
data.tar.gz: 8ae046254ab9f8744f937a5220605e5947013a6a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 47d4718451656dc368c7d034753f21e172875501470ae973425ccb1bcfbcf2b3694d0eb6e73ad50273b1b89330d89136cec5495d1cc37e700a049f355441e6f3
|
7
|
+
data.tar.gz: 0aafaf01ae251afe65453cdb89c46031c063591ea589e0e0b1c383cf1d768dd71502fce4c53c9b04ca111fe32e558d98d26aef043d1e2df73dfe6473c3b413f1
|
data/History.md
CHANGED
@@ -1,6 +1,25 @@
|
|
1
1
|
|
2
|
+
v0.5.0 / 2016-08-12
|
3
|
+
===================
|
4
|
+
|
5
|
+
* Changed base api url
|
6
|
+
* Fix rubocop to 0.41.2 for Ruby 1.9 support
|
7
|
+
* Update rake to 11 and rubocop to 0.41
|
8
|
+
* README add Installation
|
9
|
+
* Update rubocop to 0.38
|
10
|
+
* Always use raise to signal exceptions
|
11
|
+
* Use last rubinius binary on travis
|
12
|
+
* Update year
|
13
|
+
* Update README badges
|
14
|
+
* Update jruby to 9.0.4.0
|
15
|
+
* Update rubocop and add frozen_string_literal
|
16
|
+
* Add Ruby 2.3 and rbx-2 to CI
|
17
|
+
* Remove inch from dev tools for ruby 1.9
|
18
|
+
* Update money deps
|
19
|
+
* Update deps and freeze strings constants
|
20
|
+
|
2
21
|
v0.4.1 / 2015-12-06
|
3
|
-
|
22
|
+
===================
|
4
23
|
|
5
24
|
* Add more test for latest and historical urls
|
6
25
|
* used the correct URL for secure historical
|
data/LICENSE
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License
|
2
2
|
|
3
|
-
Copyright (c) 2011-
|
3
|
+
Copyright (c) 2011-2016 Laurent Arnoud <laurent@spkdev.net>
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining
|
6
6
|
a copy of this software and associated documentation files (the
|
data/README.md
CHANGED
@@ -3,6 +3,26 @@
|
|
3
3
|
A gem that calculates the exchange rate using published rates from
|
4
4
|
[open-exchange-rates](https://openexchangerates.org/)
|
5
5
|
|
6
|
+
## Installation
|
7
|
+
|
8
|
+
Add this line to your application's Gemfile:
|
9
|
+
|
10
|
+
~~~ ruby
|
11
|
+
gem 'money-open-exchange-rates'
|
12
|
+
~~~
|
13
|
+
|
14
|
+
And then execute:
|
15
|
+
|
16
|
+
~~~
|
17
|
+
bundle
|
18
|
+
~~~
|
19
|
+
|
20
|
+
Or install it yourself as:
|
21
|
+
|
22
|
+
~~~
|
23
|
+
gem install money-open-exchange-rates
|
24
|
+
~~~
|
25
|
+
|
6
26
|
## Usage
|
7
27
|
|
8
28
|
~~~ ruby
|
@@ -66,11 +86,12 @@ See [GitHub](https://github.com/spk/money-open-exchange-rates/graphs/contributor
|
|
66
86
|
|
67
87
|
The MIT License
|
68
88
|
|
69
|
-
Copyright © 2011-
|
89
|
+
Copyright © 2011-2016 Laurent Arnoud <laurent@spkdev.net>
|
70
90
|
|
71
91
|
---
|
72
|
-
[![
|
73
|
-
[![
|
92
|
+
[![Build](https://img.shields.io/travis-ci/spk/money-open-exchange-rates.svg)](https://travis-ci.org/spk/money-open-exchange-rates)
|
93
|
+
[![Version](https://img.shields.io/gem/v/money-open-exchange-rates.svg)](https://rubygems.org/gems/money-open-exchange-rates)
|
94
|
+
[![Documentation](https://img.shields.io/badge/doc-rubydoc-blue.svg)](http://www.rubydoc.info/gems/money-open-exchange-rates)
|
95
|
+
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](http://opensource.org/licenses/MIT "MIT")
|
74
96
|
[![Code Climate](http://img.shields.io/codeclimate/github/spk/money-open-exchange-rates.svg)](https://codeclimate.com/github/spk/money-open-exchange-rates)
|
75
97
|
[![Inline docs](http://inch-ci.org/github/spk/money-open-exchange-rates.svg?branch=master)](http://inch-ci.org/github/spk/money-open-exchange-rates)
|
76
|
-
[![License](https://img.shields.io/github/license/spk/money-open-exchange-rates.svg)](http://opensource.org/licenses/MIT)
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'open-uri'
|
2
3
|
require 'money'
|
3
4
|
require 'json'
|
@@ -16,9 +17,10 @@ class Money
|
|
16
17
|
# OpenExchangeRatesBank base class
|
17
18
|
class OpenExchangeRatesBank < Money::Bank::VariableExchange
|
18
19
|
VERSION = ::OpenExchangeRatesBank::VERSION
|
20
|
+
BASE_URL = 'http://openexchangerates.org/api'.freeze
|
19
21
|
# OpenExchangeRates urls
|
20
|
-
OER_URL = '
|
21
|
-
OER_HISTORICAL_URL = '
|
22
|
+
OER_URL = File.join(BASE_URL, 'latest.json')
|
23
|
+
OER_HISTORICAL_URL = File.join(BASE_URL, 'historical', '%s.json')
|
22
24
|
# OpenExchangeRates secure url
|
23
25
|
SECURE_OER_URL = OER_URL.gsub('http:', 'https:')
|
24
26
|
SECURE_OER_HISTORICAL_URL = OER_HISTORICAL_URL.gsub('http:', 'https:')
|
@@ -79,7 +81,7 @@ class Money
|
|
79
81
|
#
|
80
82
|
# @return [Proc,File]
|
81
83
|
def save_rates
|
82
|
-
|
84
|
+
raise InvalidCache unless cache
|
83
85
|
text = read_from_url
|
84
86
|
store_in_cache(text) if valid_rates?(text)
|
85
87
|
rescue Errno::ENOENT
|
@@ -168,7 +170,7 @@ class Money
|
|
168
170
|
# Read from url
|
169
171
|
# @return [String] JSON content
|
170
172
|
def read_from_url
|
171
|
-
|
173
|
+
raise NoAppId if app_id.nil? || app_id.empty?
|
172
174
|
open(source_url).read
|
173
175
|
end
|
174
176
|
|
data/test/test_helper.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'minitest/autorun'
|
2
3
|
require 'rr'
|
3
4
|
require 'webmock/minitest'
|
4
5
|
require 'money/bank/open_exchange_rates_bank'
|
5
6
|
require 'monetize'
|
6
7
|
require 'timecop'
|
7
|
-
require 'pry'
|
8
8
|
|
9
|
-
TEST_APP_ID = 'TEST_APP_ID'
|
9
|
+
TEST_APP_ID = 'TEST_APP_ID'.freeze
|
10
10
|
|
11
11
|
def data_file(file)
|
12
12
|
File.expand_path(File.join(File.dirname(__FILE__), 'data', file))
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: money-open-exchange-rates
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Laurent Arnoud
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-08-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: money
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '6.
|
19
|
+
version: '6.7'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '6.
|
26
|
+
version: '6.7'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: monetize
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1.
|
33
|
+
version: '1.4'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1.
|
40
|
+
version: '1.4'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: json
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,33 +53,33 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.8'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '11'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '11'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: minitest
|
70
|
+
name: minitest
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '5'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '5'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: timecop
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,20 +94,6 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0.8'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: inch
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0.7'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0.7'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: rr
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,56 +114,28 @@ dependencies:
|
|
128
114
|
requirements:
|
129
115
|
- - "~>"
|
130
116
|
- !ruby/object:Gem::Version
|
131
|
-
version: '1
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '1.21'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: pry
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - "~>"
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - "~>"
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: rake
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - "~>"
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '0'
|
117
|
+
version: '1'
|
160
118
|
type: :development
|
161
119
|
prerelease: false
|
162
120
|
version_requirements: !ruby/object:Gem::Requirement
|
163
121
|
requirements:
|
164
122
|
- - "~>"
|
165
123
|
- !ruby/object:Gem::Version
|
166
|
-
version: '
|
124
|
+
version: '1'
|
167
125
|
- !ruby/object:Gem::Dependency
|
168
126
|
name: rubocop
|
169
127
|
requirement: !ruby/object:Gem::Requirement
|
170
128
|
requirements:
|
171
129
|
- - "~>"
|
172
130
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
131
|
+
version: 0.41.2
|
174
132
|
type: :development
|
175
133
|
prerelease: false
|
176
134
|
version_requirements: !ruby/object:Gem::Requirement
|
177
135
|
requirements:
|
178
136
|
- - "~>"
|
179
137
|
- !ruby/object:Gem::Version
|
180
|
-
version:
|
138
|
+
version: 0.41.2
|
181
139
|
description: A gem that calculates the exchange rate using published rates from open-exchange-rates.
|
182
140
|
Compatible with the money gem.
|
183
141
|
email: laurent@spkdev.net
|
@@ -218,10 +176,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
218
176
|
version: '0'
|
219
177
|
requirements: []
|
220
178
|
rubyforge_project:
|
221
|
-
rubygems_version: 2.
|
179
|
+
rubygems_version: 2.5.1
|
222
180
|
signing_key:
|
223
181
|
specification_version: 4
|
224
182
|
summary: A gem that calculates the exchange rate using published rates from open-exchange-rates.
|
225
183
|
test_files:
|
226
184
|
- test/open_exchange_rates_bank_test.rb
|
227
|
-
has_rdoc:
|