cbr_currency 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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