russian_central_bank 0.1.1 → 0.2.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.
data/README.md CHANGED
@@ -25,8 +25,10 @@ Or install it yourself as:
25
25
 
26
26
  bank = Money::Bank::RussianCentralBank.new
27
27
 
28
- # Load rates
28
+ # Load today's rates
29
29
  bank.update_rates
30
+ # Or you can specify the date
31
+ bank.update_rates(3.days.ago)
30
32
 
31
33
  Money.default_bank = bank
32
34
 
@@ -36,6 +38,9 @@ Or install it yourself as:
36
38
  # Check last rates update
37
39
  bank.rates_updated_at
38
40
 
41
+ # Check on which date rates were updated
42
+ bank.rates_updated_on
43
+
39
44
  ## Contributing
40
45
 
41
46
  1. Fork it
@@ -7,7 +7,7 @@ class Money
7
7
 
8
8
  CBR_SERVICE_URL = 'http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL'
9
9
 
10
- attr_accessor :rates_updated_at
10
+ attr_reader :rates_updated_at, :rates_updated_on
11
11
 
12
12
  def flush_rates
13
13
  @mutex.synchronize{
@@ -15,10 +15,11 @@ class Money
15
15
  }
16
16
  end
17
17
 
18
- def update_rates
18
+ def update_rates(date = Date.today)
19
19
  @mutex.synchronize{
20
- update_parsed_rates(exchange_rates)
20
+ update_parsed_rates exchange_rates(date)
21
21
  @rates_updated_at = Time.now
22
+ @rates_updated_on = date
22
23
  @rates
23
24
  }
24
25
  end
@@ -39,9 +40,9 @@ class Money
39
40
  to_base_rate / from_base_rate
40
41
  end
41
42
 
42
- def exchange_rates
43
+ def exchange_rates(date)
43
44
  client = Savon::Client.new(wsdl: CBR_SERVICE_URL)
44
- response = client.call(:get_curs_on_date, message: {'On_date' => Date.today.to_s})
45
+ response = client.call(:get_curs_on_date, message: { 'On_date' => date.strftime('%Y-%m-%dT%H:%M:%S') })
45
46
  response.body[:get_curs_on_date_response][:get_curs_on_date_result][:diffgram][:valute_data][:valute_curs_on_date]
46
47
  end
47
48
 
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'russian_central_bank'
7
- spec.version = '0.1.1'
7
+ spec.version = '0.2.0'
8
8
  spec.authors = ['Ramil Mustafin']
9
9
  spec.email = ['rommel.rmm@gmail.com']
10
10
  spec.description = 'RussianCentralBank extends Money::Bank::VariableExchange and gives you access to the Central Bank of Russia currency exchange rates.'
metadata CHANGED
@@ -2,14 +2,14 @@
2
2
  name: russian_central_bank
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.1
5
+ version: 0.2.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Ramil Mustafin
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-12 00:00:00.000000000 Z
12
+ date: 2013-11-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -140,3 +140,4 @@ test_files:
140
140
  - spec/spec_helper.rb
141
141
  - spec/support/daily_rates.yml
142
142
  - spec/support/helpers.rb
143
+ has_rdoc: