cbr_currency 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +2 -0
- data/Gemfile.lock +5 -1
- data/README.md +11 -10
- data/cbr_currency.gemspec +1 -0
- data/lib/cbr_currency/configuration.rb +1 -1
- data/lib/cbr_currency/fetcher.rb +8 -3
- data/lib/cbr_currency/version.rb +1 -1
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d40a1e8defc65fccdd955c6e6a3d5df26d68ae0
|
4
|
+
data.tar.gz: 99c54eccde57507c1152b7c1e515910fb2256f1c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d43f0b022ae31f20dd86388771034d10f4828091117deb6947356522f8a45960bf1b112a9c4248bc100e685f1e707611d1ea8069d7a4f78d89deea51fcf0d83e
|
7
|
+
data.tar.gz: 667a4705240f37a6b4b9f085f23d971cf0368a5fee73d672af6eb7a3a178576a33a021028c0a69c6d0dcc820587513af2fbedd70043160db72849a8906e5fd21
|
data/CHANGELOG.md
ADDED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cbr_currency (
|
4
|
+
cbr_currency (1.1.0)
|
5
5
|
logging
|
6
6
|
nokogiri
|
7
7
|
|
@@ -34,6 +34,9 @@ GEM
|
|
34
34
|
pry-byebug (3.1.0)
|
35
35
|
byebug (~> 4.0)
|
36
36
|
pry (~> 0.10)
|
37
|
+
rack (1.6.4)
|
38
|
+
rack-test (0.6.3)
|
39
|
+
rack (>= 1.0)
|
37
40
|
rake (10.4.2)
|
38
41
|
rspec (3.3.0)
|
39
42
|
rspec-core (~> 3.3.0)
|
@@ -66,6 +69,7 @@ DEPENDENCIES
|
|
66
69
|
bundler (~> 1.10)
|
67
70
|
cbr_currency!
|
68
71
|
pry-byebug
|
72
|
+
rack-test
|
69
73
|
rake (~> 10.0)
|
70
74
|
rspec
|
71
75
|
simplecov
|
data/README.md
CHANGED
@@ -1,22 +1,22 @@
|
|
1
1
|
# CbrCurrency
|
2
2
|
|
3
|
-
|
3
|
+
Ruby gem for retrieving currencies data from The Central Bank of the Russian Federation
|
4
4
|
|
5
|
-
##
|
5
|
+
## Installation
|
6
6
|
|
7
|
-
|
7
|
+
Put to Gemfile:
|
8
8
|
|
9
9
|
gem 'cbr_currency'
|
10
10
|
|
11
|
-
|
11
|
+
Or install it manually:
|
12
12
|
|
13
13
|
$ gem install cbr_currency
|
14
14
|
|
15
|
-
##
|
15
|
+
## Usage
|
16
16
|
|
17
17
|
CbrCurrency.call
|
18
18
|
|
19
|
-
|
19
|
+
`CbrCurrency.call` will give you a collection of objects:
|
20
20
|
|
21
21
|
[
|
22
22
|
#<CbrCurrency::Currency:0x007fee0ca436c8 @code=:aud, @rate=42.4964, @title="Австралийский доллар", @date=#<Date: 2015-07-24 ((2457228j,0s,0n),+0s,2299161j)>>,
|
@@ -53,16 +53,16 @@
|
|
53
53
|
#<CbrCurrency::Currency:0x007fee0ca31630 @code=:krw, @rate=0.049388100000000004, @title="Вон Республики Корея", @date=#<Date: 2015-07-24 ((2457228j,0s,0n),+0s,2299161j)>>,
|
54
54
|
#<CbrCurrency::Currency:0x007fee0ca31180 @code=:jpy, @rate=0.46332900000000005, @title="Японских иен", @date=#<Date: 2015-07-24 ((2457228j,0s,0n),+0s,2299161j)>>]
|
55
55
|
|
56
|
-
`@rate` -
|
56
|
+
`@rate` - shows how many Rubles should be given for 1 Euro, or Japanese Yen, or Turkish Lira, etc. For example, you should give 62,93 Russian Rubles for 1 Euro; or 0.46 Rubles (or 46 kopecks) for 1 Japanese Yen.
|
57
57
|
|
58
|
-
##
|
58
|
+
## Configuration
|
59
59
|
|
60
60
|
CbrCurrency.configure |config| do
|
61
61
|
config.cbr_uri = "www.example.com"
|
62
62
|
config.logger = mylogger
|
63
63
|
end
|
64
64
|
|
65
|
-
|
65
|
+
It is expected, that `cbr_uri` gives an XML of the following format:
|
66
66
|
|
67
67
|
<ValCurs Date="24.07.2015" name="Foreign Currency Market">
|
68
68
|
<Valute ID="R01010">
|
@@ -74,7 +74,8 @@
|
|
74
74
|
</Valute>
|
75
75
|
</ValCurs>
|
76
76
|
|
77
|
-
|
77
|
+
By default `cbr_uri = "http://www.cbr.ru/scripts/XML_daily.asp"`.
|
78
|
+
By default `logger` is able to use Rails logger if you integrate this gem to a Rails app, otherwise Logging to STDOUT will be used.
|
78
79
|
|
79
80
|
|
80
81
|
## License
|
data/cbr_currency.gemspec
CHANGED
data/lib/cbr_currency/fetcher.rb
CHANGED
@@ -3,7 +3,11 @@ require 'nokogiri'
|
|
3
3
|
module CbrCurrency
|
4
4
|
class Fetcher
|
5
5
|
def call
|
6
|
-
xml = fetch_xml
|
6
|
+
xml = fetch_xml(
|
7
|
+
CbrCurrency.configuration.cbr_uri,
|
8
|
+
CbrCurrency.configuration.proxy_host,
|
9
|
+
CbrCurrency.configuration.proxy_port
|
10
|
+
)
|
7
11
|
return unless xml
|
8
12
|
|
9
13
|
currencies = fetch_currencies xml
|
@@ -13,9 +17,10 @@ module CbrCurrency
|
|
13
17
|
|
14
18
|
private
|
15
19
|
|
16
|
-
def fetch_xml(uri)
|
20
|
+
def fetch_xml(uri, proxy_host, proxy_port)
|
17
21
|
uri = URI(uri)
|
18
|
-
|
22
|
+
http = Net::HTTP::Proxy(proxy_host, proxy_port)
|
23
|
+
file = http.get(uri)
|
19
24
|
|
20
25
|
Nokogiri::XML file
|
21
26
|
rescue *exceptions => e
|
data/lib/cbr_currency/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cbr_currency
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yana Petrova
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rack-test
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: nokogiri
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -77,6 +91,7 @@ files:
|
|
77
91
|
- ".rspec"
|
78
92
|
- ".ruby-version"
|
79
93
|
- ".travis.yml"
|
94
|
+
- CHANGELOG.md
|
80
95
|
- Gemfile
|
81
96
|
- Gemfile.lock
|
82
97
|
- LICENSE.txt
|