exchanges-rates-nbp 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: eecec237aeccf2da7bf37cbcadbc279a1eabad99
4
+ data.tar.gz: 623b287b7295f2a731da6ccb6bda24f620339e2a
5
+ SHA512:
6
+ metadata.gz: bc86f5ba990b21e6877f93798a5c7fc7095671c5abb1cc54db56f7d72997b08292c0193e714a68057b4cb7252516aaee3e50ba94e32b480873c1927a8ee2689f
7
+ data.tar.gz: c408cbef13ebc8fc108b42903edb5ee4766eebaae27108bebc16081c3cca8b77fefe309241cc9cd4b7adf242561131d0bb2d8cb97764ce1080153ded7d6285c3
data/.gitignore ADDED
@@ -0,0 +1,22 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ *.bundle
19
+ *.so
20
+ *.o
21
+ *.a
22
+ mkmf.log
data/Gemfile ADDED
@@ -0,0 +1,18 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in exchanges-rates-nbp.gemspec
4
+ gemspec
5
+
6
+ gem "bundler", "~> 1.6"
7
+ gem "rake"
8
+
9
+ gem 'rspec'
10
+ gem 'guard-rspec'
11
+ gem 'guard-livereload'
12
+ gem 'spork-rails'
13
+ gem 'guard-spork'
14
+ gem 'childprocess'
15
+ gem 'pry'
16
+ gem 'pry-remote'
17
+ gem 'pry-nav'
18
+ gem 'nokogiri'
data/Gemfile.lock ADDED
@@ -0,0 +1,170 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ exchanges-rates-nbp (0.0.3)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ actionmailer (4.1.5)
10
+ actionpack (= 4.1.5)
11
+ actionview (= 4.1.5)
12
+ mail (~> 2.5.4)
13
+ actionpack (4.1.5)
14
+ actionview (= 4.1.5)
15
+ activesupport (= 4.1.5)
16
+ rack (~> 1.5.2)
17
+ rack-test (~> 0.6.2)
18
+ actionview (4.1.5)
19
+ activesupport (= 4.1.5)
20
+ builder (~> 3.1)
21
+ erubis (~> 2.7.0)
22
+ activemodel (4.1.5)
23
+ activesupport (= 4.1.5)
24
+ builder (~> 3.1)
25
+ activerecord (4.1.5)
26
+ activemodel (= 4.1.5)
27
+ activesupport (= 4.1.5)
28
+ arel (~> 5.0.0)
29
+ activesupport (4.1.5)
30
+ i18n (~> 0.6, >= 0.6.9)
31
+ json (~> 1.7, >= 1.7.7)
32
+ minitest (~> 5.1)
33
+ thread_safe (~> 0.1)
34
+ tzinfo (~> 1.1)
35
+ arel (5.0.1.20140414130214)
36
+ builder (3.2.2)
37
+ celluloid (0.15.2)
38
+ timers (~> 1.1.0)
39
+ childprocess (0.5.3)
40
+ ffi (~> 1.0, >= 1.0.11)
41
+ coderay (1.1.0)
42
+ diff-lcs (1.2.5)
43
+ em-websocket (0.5.1)
44
+ eventmachine (>= 0.12.9)
45
+ http_parser.rb (~> 0.6.0)
46
+ erubis (2.7.0)
47
+ eventmachine (1.0.3)
48
+ ffi (1.9.3)
49
+ formatador (0.2.5)
50
+ guard (2.6.1)
51
+ formatador (>= 0.2.4)
52
+ listen (~> 2.7)
53
+ lumberjack (~> 1.0)
54
+ pry (>= 0.9.12)
55
+ thor (>= 0.18.1)
56
+ guard-livereload (2.3.0)
57
+ em-websocket (~> 0.5)
58
+ guard (~> 2.0)
59
+ multi_json (~> 1.8)
60
+ guard-rspec (4.3.1)
61
+ guard (~> 2.1)
62
+ rspec (>= 2.14, < 4.0)
63
+ guard-spork (1.5.1)
64
+ childprocess (>= 0.2.3)
65
+ guard (>= 1.1)
66
+ spork (>= 0.8.4)
67
+ hike (1.2.3)
68
+ http_parser.rb (0.6.0)
69
+ i18n (0.6.11)
70
+ json (1.8.1)
71
+ listen (2.7.9)
72
+ celluloid (>= 0.15.2)
73
+ rb-fsevent (>= 0.9.3)
74
+ rb-inotify (>= 0.9)
75
+ lumberjack (1.0.9)
76
+ mail (2.5.4)
77
+ mime-types (~> 1.16)
78
+ treetop (~> 1.4.8)
79
+ method_source (0.8.2)
80
+ mime-types (1.25.1)
81
+ mini_portile (0.6.0)
82
+ minitest (5.4.1)
83
+ multi_json (1.10.1)
84
+ nokogiri (1.6.3.1)
85
+ mini_portile (= 0.6.0)
86
+ polyglot (0.3.5)
87
+ pry (0.10.1)
88
+ coderay (~> 1.1.0)
89
+ method_source (~> 0.8.1)
90
+ slop (~> 3.4)
91
+ pry-nav (0.2.4)
92
+ pry (>= 0.9.10, < 0.11.0)
93
+ pry-remote (0.1.8)
94
+ pry (~> 0.9)
95
+ slop (~> 3.0)
96
+ rack (1.5.2)
97
+ rack-test (0.6.2)
98
+ rack (>= 1.0)
99
+ rails (4.1.5)
100
+ actionmailer (= 4.1.5)
101
+ actionpack (= 4.1.5)
102
+ actionview (= 4.1.5)
103
+ activemodel (= 4.1.5)
104
+ activerecord (= 4.1.5)
105
+ activesupport (= 4.1.5)
106
+ bundler (>= 1.3.0, < 2.0)
107
+ railties (= 4.1.5)
108
+ sprockets-rails (~> 2.0)
109
+ railties (4.1.5)
110
+ actionpack (= 4.1.5)
111
+ activesupport (= 4.1.5)
112
+ rake (>= 0.8.7)
113
+ thor (>= 0.18.1, < 2.0)
114
+ rake (10.3.2)
115
+ rb-fsevent (0.9.4)
116
+ rb-inotify (0.9.5)
117
+ ffi (>= 0.5.0)
118
+ rspec (3.0.0)
119
+ rspec-core (~> 3.0.0)
120
+ rspec-expectations (~> 3.0.0)
121
+ rspec-mocks (~> 3.0.0)
122
+ rspec-core (3.0.4)
123
+ rspec-support (~> 3.0.0)
124
+ rspec-expectations (3.0.4)
125
+ diff-lcs (>= 1.2.0, < 2.0)
126
+ rspec-support (~> 3.0.0)
127
+ rspec-mocks (3.0.4)
128
+ rspec-support (~> 3.0.0)
129
+ rspec-support (3.0.4)
130
+ slop (3.6.0)
131
+ spork (1.0.0rc4)
132
+ spork-rails (4.0.0)
133
+ rails (>= 3.0.0, < 5)
134
+ spork (>= 1.0rc0)
135
+ sprockets (2.12.1)
136
+ hike (~> 1.2)
137
+ multi_json (~> 1.0)
138
+ rack (~> 1.0)
139
+ tilt (~> 1.1, != 1.3.0)
140
+ sprockets-rails (2.1.4)
141
+ actionpack (>= 3.0)
142
+ activesupport (>= 3.0)
143
+ sprockets (~> 2.8)
144
+ thor (0.19.1)
145
+ thread_safe (0.3.4)
146
+ tilt (1.4.1)
147
+ timers (1.1.0)
148
+ treetop (1.4.15)
149
+ polyglot
150
+ polyglot (>= 0.3.1)
151
+ tzinfo (1.2.2)
152
+ thread_safe (~> 0.1)
153
+
154
+ PLATFORMS
155
+ ruby
156
+
157
+ DEPENDENCIES
158
+ bundler (~> 1.6)
159
+ childprocess
160
+ exchanges-rates-nbp!
161
+ guard-livereload
162
+ guard-rspec
163
+ guard-spork
164
+ nokogiri
165
+ pry
166
+ pry-nav
167
+ pry-remote
168
+ rake
169
+ rspec
170
+ spork-rails
data/Guardfile ADDED
@@ -0,0 +1,31 @@
1
+ # Note: The cmd option is now required due to the increasing number of ways
2
+ # rspec may be run, below are examples of the most common uses.
3
+ # * bundler: 'bundle exec rspec'
4
+ # * bundler binstubs: 'bin/rspec'
5
+ # * spring: 'bin/rsspec' (This will use spring if running and you have
6
+ # installed the spring binstubs per the docs)
7
+ # * zeus: 'zeus rspec' (requires the server to be started separetly)
8
+ # * 'just' rspec: 'rspec'
9
+ guard :rspec, cmd: 'bundle exec rspec' do
10
+ #guard :rspec, cmd: 'spring rspec -f doc' do
11
+ watch(%r{^spec/.+_spec\.rb$})
12
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
13
+ watch('spec/spec_helper.rb') { "spec" }
14
+
15
+ ## Rails example
16
+ #watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
17
+ #watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
18
+ #watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
19
+ #watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
20
+ #watch('config/routes.rb') { "spec/routing" }
21
+ #watch('app/controllers/application_controller.rb') { "spec/controllers" }
22
+ #watch('spec/rails_helper.rb') { "spec" }
23
+ #
24
+ ## Capybara features specs
25
+ #watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
26
+ #
27
+ ## Turnip features and steps
28
+ #watch(%r{^spec/acceptance/(.+)\.feature$})
29
+ #watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
30
+ end
31
+
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 kwieslawski
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,29 @@
1
+ # Exchanges::Rates::Nbp
2
+
3
+ Simbple gem that gets exchange rates from the Polish National Bank.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'exchanges-rates-nbp'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install exchanges-rates-nbp
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it ( https://github.com/[my-github-username]/exchanges-rates-nbp/fork )
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+
@@ -0,0 +1,21 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ require 'exchanges/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = "exchanges-rates-nbp"
9
+ spec.version = Exchanges::VERSION
10
+ spec.authors = ["krzysztof.wieslawski"]
11
+ spec.email = ["krzysztof.wieslawski@gmail.com"]
12
+ spec.summary = %q{Gem to retrieve exchange rates from the Polish National Bank (NBP)}
13
+ spec.description = %q{}
14
+ spec.homepage = ""
15
+ spec.license = "MIT"
16
+
17
+ spec.files = `git ls-files -z`.split("\x0")
18
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
+ spec.require_paths = ["lib"]
21
+ end
@@ -0,0 +1,64 @@
1
+ require 'net/http'
2
+ require 'uri'
3
+ require 'date'
4
+ require 'open-uri'
5
+ require 'nokogiri'
6
+
7
+ module Exchanges
8
+ module Rates
9
+ NBP = 'http://www.nbp.pl/kursy/xml/'
10
+
11
+ @@date = Date.today
12
+
13
+ def self.date
14
+ @@date
15
+ end
16
+
17
+ def self.date=(at_date)
18
+ @@date = at_date
19
+ end
20
+
21
+ def self.codes
22
+ self.xml.xpath("//pozycja/kod_waluty/text()").map {|c| c.to_s }
23
+ end
24
+
25
+ def self.rates(currency)
26
+ rate = {}
27
+ rate[:symbol] = xml.xpath("//pozycja[kod_waluty='#{currency}']/kod_waluty/text()").to_s
28
+ rate[:name] = xml.xpath("//pozycja[kod_waluty='#{currency}']/nazwa_waluty/text()").to_s
29
+ rate[:base] = xml.xpath("//pozycja[kod_waluty='#{currency}']/przelicznik/text()").to_s
30
+ rate[:average_rate] = xml.xpath("//pozycja[kod_waluty='#{currency}']/kurs_sredni/text()").to_s.gsub(',', '.').to_f
31
+ rate
32
+ end
33
+
34
+ def self.published_at
35
+ Date.parse(xml.xpath("//tabela_kursow/data_publikacji/text()").to_s)
36
+ end
37
+
38
+ private
39
+ def self.filename
40
+ # according to: http://www.nbp.pl/home.aspx?f=/kursy/instrukcja_pobierania_kursow_walut.html
41
+ index = Net::HTTP.get(URI.parse(NBP + 'dir.txt'))
42
+
43
+ while index[/(a[0-9][0-9][0-9]z#{@@date.strftime("%y%m%d")}+)/, 1].nil? do
44
+ @@date -= 1
45
+ end
46
+ index[/(a[0-9][0-9][0-9]z#{@@date.strftime("%y%m%d")}+)/, 1]
47
+ end
48
+
49
+ def self.url
50
+ File.join(NBP, self.filename + '.xml') if self.filename
51
+ end
52
+
53
+ def self.xml
54
+ begin
55
+ doc = open(self.url)
56
+ rescue Exception => e
57
+ puts e.message
58
+ puts e.backtrace.inspect
59
+ end
60
+
61
+ Nokogiri::HTML(doc) if doc
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,3 @@
1
+ module Exchanges
2
+ VERSION = "0.0.3"
3
+ end
data/lib/nbp.rb ADDED
@@ -0,0 +1,2 @@
1
+ require 'exchanges/version'
2
+ require 'exchanges/rates'
@@ -0,0 +1,95 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Exchanges::Rates do
4
+
5
+ context 'when date is default' do
6
+ before(:each) do
7
+ Exchanges::Rates.date = Date.today
8
+ end
9
+
10
+ describe 'constant NBP' do
11
+ it 'responds to constant NBP' do
12
+ expect(Exchanges::Rates::NBP).to be
13
+ end
14
+ it 'NBP is url' do
15
+ expect(Exchanges::Rates::NBP.match(/^http:\/\//)).to be_truthy
16
+ end
17
+ end
18
+
19
+ describe '@@date' do
20
+ it 'module responds to @@date' do
21
+ expect(Exchanges::Rates.date).to be
22
+ end
23
+ it 'default @@date is today' do
24
+ expect(Exchanges::Rates.date).to eq Date.today
25
+ end
26
+ it 'is possible to change @@date' do
27
+ Exchanges::Rates.date = Date.today - 3
28
+ expect(Exchanges::Rates.date).to eq Date.today - 3
29
+ end
30
+ end
31
+
32
+ it 'returns url to xml file' do
33
+ expect(Exchanges::Rates.url.match(/.xml$/)).to be_truthy
34
+ end
35
+
36
+ describe '.xml' do
37
+ it 'returns xml for chosen date' do
38
+ xml = Exchanges::Rates.xml
39
+ expect(xml.xpath("//data_publikacji/text()").to_s).to eq Exchanges::Rates.date.strftime("%Y-%m-%d")
40
+ end
41
+ end
42
+
43
+ describe '.codes' do
44
+ it 'returns array' do
45
+ expect(Exchanges::Rates.codes).to be_kind_of(Array)
46
+ end
47
+ end
48
+
49
+ describe '.rates' do
50
+ it 'returns Hash contained necessary informations' do
51
+ expect(Exchanges::Rates.rates('USD')).to be_kind_of(Hash)
52
+ end
53
+ it 'Hash contains keys :symbol, :name, :base, :average_rate' do
54
+ expect(Exchanges::Rates.rates('USD').keys.sort).to eq [:average_rate, :base, :name, :symbol]
55
+ end
56
+ it 'rate is a Float' do
57
+ expect(Exchanges::Rates.rates('USD')[:average_rate]).to be_kind_of(Float)
58
+ end
59
+ it 'symbol, name, base and rate are not empty' do
60
+ [:symbol, :name, :base, :average_rate].each do |k|
61
+ expect(Exchanges::Rates.rates('USD')[k].to_s).not_to be_empty
62
+ end
63
+ end
64
+ end
65
+
66
+ describe '.published_at' do
67
+ it 'returns Date' do
68
+ expect(Exchanges::Rates.published_at).to be_kind_of(Date)
69
+ end
70
+ end
71
+
72
+ end
73
+
74
+ context 'when date is weekend day \'2014-08-31\', Sunday' do
75
+ before(:each) do
76
+ Exchanges::Rates.date = Date.new(2014,8,31)
77
+ end
78
+
79
+ describe '.filename' do
80
+ it 'returns filename \'a167z140829\' for Sunday, 2014-08-31\'' do
81
+ expect(Exchanges::Rates.filename).to eq 'a167z140829'
82
+ end
83
+ it 'returns filename \'a167z140829\' for Friday, 2014-08-29\'' do
84
+ expect(Exchanges::Rates.filename).to eq 'a167z140829'
85
+ end
86
+ end
87
+
88
+ describe '.rates' do
89
+ it 'at \'2014-08-31\' USD rate is 3.1965 (from table at \'2014-08-29\')' do
90
+ expect(Exchanges::Rates.rates('USD')[:average_rate]).to eq 3.1965
91
+ end
92
+ end
93
+ end
94
+
95
+ end
@@ -0,0 +1,8 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+
4
+ require 'nbp'
5
+
6
+ RSpec.configure do |config|
7
+
8
+ end
@@ -0,0 +1,221 @@
1
+ <?xml version="1.0" encoding="ISO-8859-2"?>
2
+ <tabela_kursow typ="A" uid="14a167">
3
+ <numer_tabeli>167/A/NBP/2014</numer_tabeli>
4
+ <data_publikacji>2014-08-29</data_publikacji>
5
+ <pozycja>
6
+ <nazwa_waluty>bat (Tajlandia)</nazwa_waluty>
7
+ <przelicznik>1</przelicznik>
8
+ <kod_waluty>THB</kod_waluty>
9
+ <kurs_sredni>0,1001</kurs_sredni>
10
+ </pozycja>
11
+ <pozycja>
12
+ <nazwa_waluty>dolar ameryka�ski</nazwa_waluty>
13
+ <przelicznik>1</przelicznik>
14
+ <kod_waluty>USD</kod_waluty>
15
+ <kurs_sredni>3,1965</kurs_sredni>
16
+ </pozycja>
17
+ <pozycja>
18
+ <nazwa_waluty>dolar australijski</nazwa_waluty>
19
+ <przelicznik>1</przelicznik>
20
+ <kod_waluty>AUD</kod_waluty>
21
+ <kurs_sredni>2,9905</kurs_sredni>
22
+ </pozycja>
23
+ <pozycja>
24
+ <nazwa_waluty>dolar Hongkongu</nazwa_waluty>
25
+ <przelicznik>1</przelicznik>
26
+ <kod_waluty>HKD</kod_waluty>
27
+ <kurs_sredni>0,4125</kurs_sredni>
28
+ </pozycja>
29
+ <pozycja>
30
+ <nazwa_waluty>dolar kanadyjski</nazwa_waluty>
31
+ <przelicznik>1</przelicznik>
32
+ <kod_waluty>CAD</kod_waluty>
33
+ <kurs_sredni>2,9454</kurs_sredni>
34
+ </pozycja>
35
+ <pozycja>
36
+ <nazwa_waluty>dolar nowozelandzki</nazwa_waluty>
37
+ <przelicznik>1</przelicznik>
38
+ <kod_waluty>NZD</kod_waluty>
39
+ <kurs_sredni>2,6821</kurs_sredni>
40
+ </pozycja>
41
+ <pozycja>
42
+ <nazwa_waluty>dolar singapurski</nazwa_waluty>
43
+ <przelicznik>1</przelicznik>
44
+ <kod_waluty>SGD</kod_waluty>
45
+ <kurs_sredni>2,5627</kurs_sredni>
46
+ </pozycja>
47
+ <pozycja>
48
+ <nazwa_waluty>euro</nazwa_waluty>
49
+ <przelicznik>1</przelicznik>
50
+ <kod_waluty>EUR</kod_waluty>
51
+ <kurs_sredni>4,2129</kurs_sredni>
52
+ </pozycja>
53
+ <pozycja>
54
+ <nazwa_waluty>forint (W�gry)</nazwa_waluty>
55
+ <przelicznik>100</przelicznik>
56
+ <kod_waluty>HUF</kod_waluty>
57
+ <kurs_sredni>1,3370</kurs_sredni>
58
+ </pozycja>
59
+ <pozycja>
60
+ <nazwa_waluty>frank szwajcarski</nazwa_waluty>
61
+ <przelicznik>1</przelicznik>
62
+ <kod_waluty>CHF</kod_waluty>
63
+ <kurs_sredni>3,4930</kurs_sredni>
64
+ </pozycja>
65
+ <pozycja>
66
+ <nazwa_waluty>funt szterling</nazwa_waluty>
67
+ <przelicznik>1</przelicznik>
68
+ <kod_waluty>GBP</kod_waluty>
69
+ <kurs_sredni>5,3056</kurs_sredni>
70
+ </pozycja>
71
+ <pozycja>
72
+ <nazwa_waluty>hrywna (Ukraina)</nazwa_waluty>
73
+ <przelicznik>1</przelicznik>
74
+ <kod_waluty>UAH</kod_waluty>
75
+ <kurs_sredni>0,2360</kurs_sredni>
76
+ </pozycja>
77
+ <pozycja>
78
+ <nazwa_waluty>jen (Japonia)</nazwa_waluty>
79
+ <przelicznik>100</przelicznik>
80
+ <kod_waluty>JPY</kod_waluty>
81
+ <kurs_sredni>3,0770</kurs_sredni>
82
+ </pozycja>
83
+ <pozycja>
84
+ <nazwa_waluty>korona czeska</nazwa_waluty>
85
+ <przelicznik>1</przelicznik>
86
+ <kod_waluty>CZK</kod_waluty>
87
+ <kurs_sredni>0,1516</kurs_sredni>
88
+ </pozycja>
89
+ <pozycja>
90
+ <nazwa_waluty>korona du�ska</nazwa_waluty>
91
+ <przelicznik>1</przelicznik>
92
+ <kod_waluty>DKK</kod_waluty>
93
+ <kurs_sredni>0,5653</kurs_sredni>
94
+ </pozycja>
95
+ <pozycja>
96
+ <nazwa_waluty>korona islandzka</nazwa_waluty>
97
+ <przelicznik>100</przelicznik>
98
+ <kod_waluty>ISK</kod_waluty>
99
+ <kurs_sredni>2,7383</kurs_sredni>
100
+ </pozycja>
101
+ <pozycja>
102
+ <nazwa_waluty>korona norweska</nazwa_waluty>
103
+ <przelicznik>1</przelicznik>
104
+ <kod_waluty>NOK</kod_waluty>
105
+ <kurs_sredni>0,5170</kurs_sredni>
106
+ </pozycja>
107
+ <pozycja>
108
+ <nazwa_waluty>korona szwedzka</nazwa_waluty>
109
+ <przelicznik>1</przelicznik>
110
+ <kod_waluty>SEK</kod_waluty>
111
+ <kurs_sredni>0,4589</kurs_sredni>
112
+ </pozycja>
113
+ <pozycja>
114
+ <nazwa_waluty>kuna chorwacka</nazwa_waluty>
115
+ <przelicznik>1</przelicznik>
116
+ <kod_waluty>HRK</kod_waluty>
117
+ <kurs_sredni>0,5529</kurs_sredni>
118
+ </pozycja>
119
+ <pozycja>
120
+ <nazwa_waluty>lej rumu�ski</nazwa_waluty>
121
+ <przelicznik>1</przelicznik>
122
+ <kod_waluty>RON</kod_waluty>
123
+ <kurs_sredni>0,9561</kurs_sredni>
124
+ </pozycja>
125
+ <pozycja>
126
+ <nazwa_waluty>lew bu�garski</nazwa_waluty>
127
+ <przelicznik>1</przelicznik>
128
+ <kod_waluty>BGN</kod_waluty>
129
+ <kurs_sredni>2,1542</kurs_sredni>
130
+ </pozycja>
131
+ <pozycja>
132
+ <nazwa_waluty>lira turecka</nazwa_waluty>
133
+ <przelicznik>1</przelicznik>
134
+ <kod_waluty>TRY</kod_waluty>
135
+ <kurs_sredni>1,4816</kurs_sredni>
136
+ </pozycja>
137
+ <pozycja>
138
+ <nazwa_waluty>lit litewski</nazwa_waluty>
139
+ <przelicznik>1</przelicznik>
140
+ <kod_waluty>LTL</kod_waluty>
141
+ <kurs_sredni>1,2201</kurs_sredni>
142
+ </pozycja>
143
+ <pozycja>
144
+ <nazwa_waluty>nowy izraelski szekel</nazwa_waluty>
145
+ <przelicznik>1</przelicznik>
146
+ <kod_waluty>ILS</kod_waluty>
147
+ <kurs_sredni>0,8961</kurs_sredni>
148
+ </pozycja>
149
+ <pozycja>
150
+ <nazwa_waluty>peso chilijskie</nazwa_waluty>
151
+ <przelicznik>100</przelicznik>
152
+ <kod_waluty>CLP</kod_waluty>
153
+ <kurs_sredni>0,5373</kurs_sredni>
154
+ </pozycja>
155
+ <pozycja>
156
+ <nazwa_waluty>peso filipi�skie</nazwa_waluty>
157
+ <przelicznik>1</przelicznik>
158
+ <kod_waluty>PHP</kod_waluty>
159
+ <kurs_sredni>0,0733</kurs_sredni>
160
+ </pozycja>
161
+ <pozycja>
162
+ <nazwa_waluty>peso meksyka�skie</nazwa_waluty>
163
+ <przelicznik>1</przelicznik>
164
+ <kod_waluty>MXN</kod_waluty>
165
+ <kurs_sredni>0,2442</kurs_sredni>
166
+ </pozycja>
167
+ <pozycja>
168
+ <nazwa_waluty>rand (Republika Po�udniowej Afryki)</nazwa_waluty>
169
+ <przelicznik>1</przelicznik>
170
+ <kod_waluty>ZAR</kod_waluty>
171
+ <kurs_sredni>0,3016</kurs_sredni>
172
+ </pozycja>
173
+ <pozycja>
174
+ <nazwa_waluty>real brazylijski</nazwa_waluty>
175
+ <przelicznik>1</przelicznik>
176
+ <kod_waluty>BRL</kod_waluty>
177
+ <kurs_sredni>1,4270</kurs_sredni>
178
+ </pozycja>
179
+ <pozycja>
180
+ <nazwa_waluty>ringgit malezyjski</nazwa_waluty>
181
+ <przelicznik>1</przelicznik>
182
+ <kod_waluty>MYR</kod_waluty>
183
+ <kurs_sredni>1,0141</kurs_sredni>
184
+ </pozycja>
185
+ <pozycja>
186
+ <nazwa_waluty>rubel rosyjski</nazwa_waluty>
187
+ <przelicznik>1</przelicznik>
188
+ <kod_waluty>RUB</kod_waluty>
189
+ <kurs_sredni>0,0868</kurs_sredni>
190
+ </pozycja>
191
+ <pozycja>
192
+ <nazwa_waluty>rupia indonezyjska</nazwa_waluty>
193
+ <przelicznik>10000</przelicznik>
194
+ <kod_waluty>IDR</kod_waluty>
195
+ <kurs_sredni>2,7326</kurs_sredni>
196
+ </pozycja>
197
+ <pozycja>
198
+ <nazwa_waluty>rupia indyjska</nazwa_waluty>
199
+ <przelicznik>100</przelicznik>
200
+ <kod_waluty>INR</kod_waluty>
201
+ <kurs_sredni>5,2851</kurs_sredni>
202
+ </pozycja>
203
+ <pozycja>
204
+ <nazwa_waluty>won (Korea Po�udniowa)</nazwa_waluty>
205
+ <przelicznik>100</przelicznik>
206
+ <kod_waluty>KRW</kod_waluty>
207
+ <kurs_sredni>0,3153</kurs_sredni>
208
+ </pozycja>
209
+ <pozycja>
210
+ <nazwa_waluty>yuan renminbi (Chiny)</nazwa_waluty>
211
+ <przelicznik>1</przelicznik>
212
+ <kod_waluty>CNY</kod_waluty>
213
+ <kurs_sredni>0,5203</kurs_sredni>
214
+ </pozycja>
215
+ <pozycja>
216
+ <nazwa_waluty>SDR (MFW)</nazwa_waluty>
217
+ <przelicznik>1</przelicznik>
218
+ <kod_waluty>XDR</kod_waluty>
219
+ <kurs_sredni>4,8534</kurs_sredni>
220
+ </pozycja>
221
+ </tabela_kursow>
metadata ADDED
@@ -0,0 +1,61 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: exchanges-rates-nbp
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ platform: ruby
6
+ authors:
7
+ - krzysztof.wieslawski
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-09-05 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: ''
14
+ email:
15
+ - krzysztof.wieslawski@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - ".gitignore"
21
+ - Gemfile
22
+ - Gemfile.lock
23
+ - Guardfile
24
+ - LICENSE.txt
25
+ - README.md
26
+ - Rakefile
27
+ - exchanges-rates-nbp.gemspec
28
+ - lib/exchanges/rates.rb
29
+ - lib/exchanges/version.rb
30
+ - lib/nbp.rb
31
+ - spec/exchanges-rates-nbp_spec.rb
32
+ - spec/spec_helper.rb
33
+ - spec/support/a167z140829.xml
34
+ homepage: ''
35
+ licenses:
36
+ - MIT
37
+ metadata: {}
38
+ post_install_message:
39
+ rdoc_options: []
40
+ require_paths:
41
+ - lib
42
+ required_ruby_version: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ required_rubygems_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: '0'
52
+ requirements: []
53
+ rubyforge_project:
54
+ rubygems_version: 2.2.2
55
+ signing_key:
56
+ specification_version: 4
57
+ summary: Gem to retrieve exchange rates from the Polish National Bank (NBP)
58
+ test_files:
59
+ - spec/exchanges-rates-nbp_spec.rb
60
+ - spec/spec_helper.rb
61
+ - spec/support/a167z140829.xml