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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 97a3957e82823767137c63cc6ccdb499f13c7540
4
- data.tar.gz: 04c23787857ae4104780c7f6bf21f451aced20e5
3
+ metadata.gz: 4d40a1e8defc65fccdd955c6e6a3d5df26d68ae0
4
+ data.tar.gz: 99c54eccde57507c1152b7c1e515910fb2256f1c
5
5
  SHA512:
6
- metadata.gz: 7b88f036be117164d1af9148f436630d6948d9109b5357f550f7bdb569dade479b0c83d981ba2e629c49c8e2d4bbc4cbe13a7e7f314df1f05f22d838e469e7f4
7
- data.tar.gz: 6854558367f27080b8bfb54e9dc2024585e7153f6d6bcc294361a02b700bd2272df423fd8e03127ecbb30a066b2dc6561f3217da64de038b30e1144c86868d32
6
+ metadata.gz: d43f0b022ae31f20dd86388771034d10f4828091117deb6947356522f8a45960bf1b112a9c4248bc100e685f1e707611d1ea8069d7a4f78d89deea51fcf0d83e
7
+ data.tar.gz: 667a4705240f37a6b4b9f085f23d971cf0368a5fee73d672af6eb7a3a178576a33a021028c0a69c6d0dcc820587513af2fbedd70043160db72849a8906e5fd21
data/CHANGELOG.md ADDED
@@ -0,0 +1,2 @@
1
+ #### 1.1.0
2
+ Added ability to pass proxy
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cbr_currency (0.1.0)
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
- Гем тащит курсы валют с [API ЦБ](http://www.cbr.ru/scripts/XML_daily.asp)
3
+ Ruby gem for retrieving currencies data from The Central Bank of the Russian Federation
4
4
 
5
- ## Установка
5
+ ## Installation
6
6
 
7
- В Gemfile:
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` - это то, сколько надо заплатить рублей за 1 единицу иностранной валюты. Например, 1 евро стоит 62.39р, а 1 Вон Республики Корея стоит около 0.04р.
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
- Ожидается, что по адресу `cbr_uri` будет xml вида
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
- По дефолту `cbr_uri = "http://www.cbr.ru/scripts/XML_daily.asp"`.
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
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.add_development_dependency "bundler", "~> 1.10"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_development_dependency "rack-test"
24
25
 
25
26
  spec.add_dependency "nokogiri"
26
27
  spec.add_dependency "logging"
@@ -1,6 +1,6 @@
1
1
  module CbrCurrency
2
2
  class Configuration
3
- attr_accessor :cbr_uri, :logger
3
+ attr_accessor :cbr_uri, :logger, :proxy_host, :proxy_port
4
4
 
5
5
  def initialize
6
6
  @cbr_uri = "http://www.cbr.ru/scripts/XML_daily.asp"
@@ -3,7 +3,11 @@ require 'nokogiri'
3
3
  module CbrCurrency
4
4
  class Fetcher
5
5
  def call
6
- xml = fetch_xml CbrCurrency.configuration.cbr_uri
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
- file = Net::HTTP.get uri
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
@@ -1,3 +1,3 @@
1
1
  module CbrCurrency
2
- VERSION = "1.0.1"
2
+ VERSION = "1.1.0"
3
3
  end
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.1
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-07-28 00:00:00.000000000 Z
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