polish_banks 1.1.3 → 1.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.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/Gemfile +1 -0
- data/README.md +1 -1
- data/lib/data/1020.yml +2 -2
- data/lib/data/1050.yml +61 -51
- data/lib/data/1090.yml +4 -0
- data/lib/data/1240.yml +51 -47
- data/lib/data/1320.yml +4 -0
- data/lib/data/1460.yml +1 -1
- data/lib/data/1500.yml +1 -1
- data/lib/data/1560.yml +1 -1
- data/lib/data/1580.yml +1 -1
- data/lib/data/1600.yml +7 -3
- data/lib/data/1610.yml +13 -13
- data/lib/data/1750.yml +6 -6
- data/lib/data/1930.yml +3 -1
- data/lib/data/2140.yml +1 -1
- data/lib/data/2290.yml +2 -2
- data/lib/data/2370.yml +2 -0
- data/lib/data/2430.yml +2 -2
- data/lib/data/2480.yml +1 -1
- data/lib/data/2481.yml +4 -0
- data/lib/data/2580.yml +1 -1
- data/lib/data/2600.yml +1 -1
- data/lib/data/2870.yml +1 -1
- data/lib/data/2930.yml +4 -0
- data/lib/data/2940.yml +4 -0
- data/lib/data/6160.yml +4 -0
- data/lib/data/6200.yml +1 -1
- data/lib/data/7005.yml +2 -2
- data/lib/data/7011.yml +2 -2
- data/lib/data/7041.yml +1 -1
- data/lib/data/7046.yml +1 -1
- data/lib/data/7056.yml +1 -1
- data/lib/data/7189.yml +2 -2
- data/lib/data/8002.yml +0 -2
- data/lib/data/8044.yml +2 -2
- data/lib/data/8055.yml +2 -2
- data/lib/data/8126.yml +1 -1
- data/lib/data/8134.yml +2 -2
- data/lib/data/8149.yml +1 -1
- data/lib/data/8192.yml +2 -2
- data/lib/data/8212.yml +2 -2
- data/lib/data/8213.yml +3 -1
- data/lib/data/8256.yml +2 -2
- data/lib/data/8259.yml +3 -3
- data/lib/data/8260.yml +1 -1
- data/lib/data/8267.yml +2 -2
- data/lib/data/8276.yml +2 -2
- data/lib/data/8288.yml +3 -3
- data/lib/data/8304.yml +2 -2
- data/lib/data/8341.yml +2 -2
- data/lib/data/8442.yml +1 -1
- data/lib/data/8460.yml +2 -2
- data/lib/data/8470.yml +1 -1
- data/lib/data/8474.yml +1 -1
- data/lib/data/8490.yml +1 -1
- data/lib/data/8513.yml +2 -2
- data/lib/data/8539.yml +2 -2
- data/lib/data/8544.yml +2 -2
- data/lib/data/8642.yml +22 -22
- data/lib/data/8663.yml +2 -2
- data/lib/data/8721.yml +2 -2
- data/lib/data/8732.yml +2 -2
- data/lib/data/8780.yml +1 -1
- data/lib/data/8788.yml +2 -2
- data/lib/data/8961.yml +4 -0
- data/lib/data/8973.yml +1 -1
- data/lib/data/8978.yml +4 -4
- data/lib/data/9029.yml +2 -2
- data/lib/data/9068.yml +2 -4
- data/lib/data/9125.yml +2 -2
- data/lib/data/9170.yml +2 -2
- data/lib/data/9197.yml +2 -2
- data/lib/data/9227.yml +2 -2
- data/lib/data/9284.yml +2 -2
- data/lib/data/9304.yml +3 -3
- data/lib/data/9324.yml +3 -3
- data/lib/data/9350.yml +2 -2
- data/lib/data/9377.yml +2 -2
- data/lib/data/9387.yml +1 -1
- data/lib/data/9395.yml +2 -2
- data/lib/data/9486.yml +1 -1
- data/lib/data/9511.yml +1 -1
- data/lib/data/9584.yml +1 -1
- data/lib/data/9614.yml +2 -2
- data/lib/data/9620.yml +2 -2
- data/lib/data/9628.yml +2 -2
- data/lib/data/9672.yml +2 -2
- data/lib/data_generator.rb +2 -1
- data/lib/errors/bank_not_found.rb +2 -0
- data/lib/errors/unsupported_country.rb +2 -0
- data/lib/polish_banks.rb +2 -1
- data/polish_banks.gemspec +2 -2
- data/spec/polish_banks_spec.rb +23 -23
- metadata +11 -16
- data/.travis.yml +0 -14
- data/lib/data/2070.yml +0 -4
- data/lib/data/2210.yml +0 -4
- data/lib/data/2240.yml +0 -4
- data/lib/data/2570.yml +0 -4
- data/lib/data/2710.yml +0 -4
- data/lib/data/2740.yml +0 -4
- data/lib/data/8016.yml +0 -4
- data/lib/data/9678.yml +0 -4
data/lib/data/8961.yml
CHANGED
data/lib/data/8973.yml
CHANGED
data/lib/data/8978.yml
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
---
|
2
|
-
name: Bank Spółdzielczy
|
2
|
+
name: ESBANK Bank Spółdzielczy
|
3
3
|
89780008:
|
4
|
-
branch:
|
4
|
+
branch: ESBANK Bank Spółdzielczy, Oddział Kleszczów
|
5
5
|
89781018:
|
6
|
-
branch: Oddział w Klukach
|
6
|
+
branch: ESBANK Bank Spółdzielczy, Oddział Kleszczów, Punkt Obsługi Klienta w Klukach
|
7
7
|
89781021:
|
8
|
-
branch: Oddział w Sulmierzycach
|
8
|
+
branch: ESBANK Bank Spółdzielczy, Oddział Kleszczów, Filia w Sulmierzycach
|
data/lib/data/9029.yml
CHANGED
data/lib/data/9068.yml
CHANGED
data/lib/data/9125.yml
CHANGED
data/lib/data/9170.yml
CHANGED
data/lib/data/9197.yml
CHANGED
data/lib/data/9227.yml
CHANGED
data/lib/data/9284.yml
CHANGED
data/lib/data/9304.yml
CHANGED
data/lib/data/9324.yml
CHANGED
data/lib/data/9350.yml
CHANGED
data/lib/data/9377.yml
CHANGED
data/lib/data/9387.yml
CHANGED
data/lib/data/9395.yml
CHANGED
data/lib/data/9486.yml
CHANGED
data/lib/data/9511.yml
CHANGED
data/lib/data/9584.yml
CHANGED
data/lib/data/9614.yml
CHANGED
data/lib/data/9620.yml
CHANGED
data/lib/data/9628.yml
CHANGED
data/lib/data/9672.yml
CHANGED
data/lib/data_generator.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
4
|
require 'fileutils'
|
4
5
|
require 'yaml'
|
@@ -7,7 +8,7 @@ BANK_NAME_COL = 1
|
|
7
8
|
BRANCH_IDENTIFIER_COL = 4
|
8
9
|
BRANCH_NAME_COL = 5
|
9
10
|
DATA_DIR_NAME = 'data'
|
10
|
-
FILENAMES = ['plewibnra.txt', 'PlainDok.txt'].freeze
|
11
|
+
FILENAMES = ['plewibnra.txt', 'PlainDok.txt', 'PlainDok'].freeze
|
11
12
|
|
12
13
|
filename = FILENAMES.detect { |file| File.exist?(file) }
|
13
14
|
|
data/lib/polish_banks.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'pry'
|
3
4
|
require 'yaml'
|
4
5
|
require 'errors/bank_not_found'
|
5
6
|
require 'errors/unsupported_country'
|
@@ -11,7 +12,7 @@ class PolishBank
|
|
11
12
|
@iban = iban
|
12
13
|
check_country
|
13
14
|
data = YAML.load_file(File.join(File.dirname(__FILE__), 'data', "#{bank_identifier}.yml"))
|
14
|
-
@name = data
|
15
|
+
@name = data['name']
|
15
16
|
@branch = data.dig(full_identifier, 'branch') || ''
|
16
17
|
rescue Errno::ENOENT
|
17
18
|
raise BankNotFound, "Polish bank not found for #{iban}"
|
data/polish_banks.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'polish_banks'
|
3
|
-
s.version = '1.
|
3
|
+
s.version = '1.2.0'
|
4
4
|
s.date = '2021-07-04'
|
5
5
|
s.summary = 'Polish bank detector'
|
6
6
|
s.description = 'Get information about a Polish bank based on IBAN or account number.'
|
@@ -9,6 +9,6 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.files = `git ls-files -z`.split("\x0")
|
10
10
|
s.homepage = 'https://github.com/mczuchnowski/polish_banks'
|
11
11
|
s.license = 'MIT'
|
12
|
-
s.add_development_dependency 'rspec', '~> 3.
|
12
|
+
s.add_development_dependency 'rspec', '~> 3.13'
|
13
13
|
s.add_development_dependency 'simplecov'
|
14
14
|
end
|
data/spec/polish_banks_spec.rb
CHANGED
@@ -6,75 +6,75 @@ require 'polish_banks'
|
|
6
6
|
RSpec.describe PolishBank do
|
7
7
|
subject { described_class.new(iban) }
|
8
8
|
|
9
|
-
describe
|
10
|
-
let(:iban) {
|
9
|
+
describe 'standard iban check' do
|
10
|
+
let(:iban) { 'PL61109010140000071219812874' }
|
11
11
|
|
12
|
-
it
|
12
|
+
it 'detects bank name' do
|
13
13
|
expect(subject.name).to be_a String
|
14
14
|
expect(subject.name.length).to be_positive
|
15
15
|
end
|
16
16
|
|
17
|
-
it
|
17
|
+
it 'detects bank branch' do
|
18
18
|
expect(subject.branch).to be_a String
|
19
19
|
expect(subject.branch.length).to be_positive
|
20
20
|
end
|
21
21
|
|
22
|
-
context
|
23
|
-
let(:iban) {
|
22
|
+
context 'with only partial match' do
|
23
|
+
let(:iban) { 'PL6110909999' }
|
24
24
|
|
25
|
-
it
|
25
|
+
it 'detects bank name' do
|
26
26
|
expect(subject.name).to be_a String
|
27
27
|
expect(subject.name.length).to be_positive
|
28
28
|
end
|
29
29
|
|
30
|
-
it
|
30
|
+
it 'detects bank branch' do
|
31
31
|
expect(subject.branch).to be_a String
|
32
32
|
expect(subject.branch.length).to be_zero
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
-
context
|
37
|
-
let(:iban) {
|
36
|
+
context 'with special characters' do
|
37
|
+
let(:iban) { '61(1090_1014+0000?0712/1981-2874' }
|
38
38
|
|
39
|
-
it
|
39
|
+
it 'detects bank name' do
|
40
40
|
expect(subject.name).to be_a String
|
41
41
|
expect(subject.name.length).to be_positive
|
42
42
|
end
|
43
43
|
|
44
|
-
it
|
44
|
+
it 'detects bank branch' do
|
45
45
|
expect(subject.branch).to be_a String
|
46
46
|
expect(subject.branch.length).to be_positive
|
47
47
|
end
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
describe
|
52
|
-
let(:iban) {
|
51
|
+
describe 'account number check' do
|
52
|
+
let(:iban) { '61109010140000071219812874' }
|
53
53
|
|
54
|
-
it
|
54
|
+
it 'detects bank name' do
|
55
55
|
expect(subject.name).to be_a String
|
56
56
|
expect(subject.name.length).to be_positive
|
57
57
|
end
|
58
58
|
|
59
|
-
it
|
59
|
+
it 'detects bank branch' do
|
60
60
|
expect(subject.branch).to be_a String
|
61
61
|
expect(subject.branch.length).to be_positive
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
|
-
describe
|
66
|
-
context
|
67
|
-
let(:iban) {
|
65
|
+
describe 'error raising' do
|
66
|
+
context 'foreign iban' do
|
67
|
+
let(:iban) { 'DE61109010140000071219812874' }
|
68
68
|
|
69
|
-
it
|
69
|
+
it 'raises UnsupportedCountry error' do
|
70
70
|
expect { subject }.to raise_error(UnsupportedCountry, "Iban #{iban} is not Polish")
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
|
-
context
|
75
|
-
let(:iban) {
|
74
|
+
context 'unknown bank' do
|
75
|
+
let(:iban) { 'PL6666666666' }
|
76
76
|
|
77
|
-
it
|
77
|
+
it 'raises BankNotFound error' do
|
78
78
|
expect { subject }.to raise_error(BankNotFound, "Polish bank not found for #{iban}")
|
79
79
|
end
|
80
80
|
end
|
metadata
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: polish_banks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maciej Czuchnowski
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2021-07-04 00:00:00.000000000 Z
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '3.
|
19
|
+
version: '3.13'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '3.
|
26
|
+
version: '3.13'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: simplecov
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -45,7 +45,6 @@ extensions: []
|
|
45
45
|
extra_rdoc_files: []
|
46
46
|
files:
|
47
47
|
- ".gitignore"
|
48
|
-
- ".travis.yml"
|
49
48
|
- Gemfile
|
50
49
|
- LICENSE
|
51
50
|
- README.md
|
@@ -89,15 +88,12 @@ files:
|
|
89
88
|
- lib/data/1960.yml
|
90
89
|
- lib/data/2000.yml
|
91
90
|
- lib/data/2030.yml
|
92
|
-
- lib/data/2070.yml
|
93
91
|
- lib/data/2120.yml
|
94
92
|
- lib/data/2130.yml
|
95
93
|
- lib/data/2140.yml
|
96
94
|
- lib/data/2150.yml
|
97
95
|
- lib/data/2160.yml
|
98
96
|
- lib/data/2190.yml
|
99
|
-
- lib/data/2210.yml
|
100
|
-
- lib/data/2240.yml
|
101
97
|
- lib/data/2250.yml
|
102
98
|
- lib/data/2260.yml
|
103
99
|
- lib/data/2270.yml
|
@@ -111,13 +107,13 @@ files:
|
|
111
107
|
- lib/data/2430.yml
|
112
108
|
- lib/data/2470.yml
|
113
109
|
- lib/data/2480.yml
|
110
|
+
- lib/data/2481.yml
|
114
111
|
- lib/data/2490.yml
|
115
112
|
- lib/data/2510.yml
|
116
113
|
- lib/data/2530.yml
|
117
114
|
- lib/data/2540.yml
|
118
115
|
- lib/data/2550.yml
|
119
116
|
- lib/data/2560.yml
|
120
|
-
- lib/data/2570.yml
|
121
117
|
- lib/data/2580.yml
|
122
118
|
- lib/data/2600.yml
|
123
119
|
- lib/data/2620.yml
|
@@ -127,10 +123,8 @@ files:
|
|
127
123
|
- lib/data/2670.yml
|
128
124
|
- lib/data/2690.yml
|
129
125
|
- lib/data/2700.yml
|
130
|
-
- lib/data/2710.yml
|
131
126
|
- lib/data/2720.yml
|
132
127
|
- lib/data/2730.yml
|
133
|
-
- lib/data/2740.yml
|
134
128
|
- lib/data/2750.yml
|
135
129
|
- lib/data/2780.yml
|
136
130
|
- lib/data/2790.yml
|
@@ -141,10 +135,13 @@ files:
|
|
141
135
|
- lib/data/2890.yml
|
142
136
|
- lib/data/2900.yml
|
143
137
|
- lib/data/2910.yml
|
138
|
+
- lib/data/2930.yml
|
139
|
+
- lib/data/2940.yml
|
144
140
|
- lib/data/6000.yml
|
145
141
|
- lib/data/6040.yml
|
146
142
|
- lib/data/6070.yml
|
147
143
|
- lib/data/6110.yml
|
144
|
+
- lib/data/6160.yml
|
148
145
|
- lib/data/6200.yml
|
149
146
|
- lib/data/6300.yml
|
150
147
|
- lib/data/7003.yml
|
@@ -183,7 +180,6 @@ files:
|
|
183
180
|
- lib/data/8011.yml
|
184
181
|
- lib/data/8013.yml
|
185
182
|
- lib/data/8015.yml
|
186
|
-
- lib/data/8016.yml
|
187
183
|
- lib/data/8017.yml
|
188
184
|
- lib/data/8019.yml
|
189
185
|
- lib/data/8022.yml
|
@@ -758,7 +754,6 @@ files:
|
|
758
754
|
- lib/data/9672.yml
|
759
755
|
- lib/data/9673.yml
|
760
756
|
- lib/data/9674.yml
|
761
|
-
- lib/data/9678.yml
|
762
757
|
- lib/data/9681.yml
|
763
758
|
- lib/data_generator.rb
|
764
759
|
- lib/errors/bank_not_found.rb
|
@@ -771,7 +766,7 @@ homepage: https://github.com/mczuchnowski/polish_banks
|
|
771
766
|
licenses:
|
772
767
|
- MIT
|
773
768
|
metadata: {}
|
774
|
-
post_install_message:
|
769
|
+
post_install_message:
|
775
770
|
rdoc_options: []
|
776
771
|
require_paths:
|
777
772
|
- lib
|
@@ -786,8 +781,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
786
781
|
- !ruby/object:Gem::Version
|
787
782
|
version: '0'
|
788
783
|
requirements: []
|
789
|
-
rubygems_version: 3.
|
790
|
-
signing_key:
|
784
|
+
rubygems_version: 3.3.26
|
785
|
+
signing_key:
|
791
786
|
specification_version: 4
|
792
787
|
summary: Polish bank detector
|
793
788
|
test_files: []
|
data/.travis.yml
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
env:
|
2
|
-
global:
|
3
|
-
- CC_TEST_REPORTER_ID=4702e2dc2b0ca5a62c63df7ee76065da89db29a7a2302e0568cc8f97eaa09e8c
|
4
|
-
language: ruby
|
5
|
-
rvm:
|
6
|
-
- 2.6.5
|
7
|
-
before_script:
|
8
|
-
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
9
|
-
- chmod +x ./cc-test-reporter
|
10
|
-
- ./cc-test-reporter before-build
|
11
|
-
script:
|
12
|
-
- bundle exec rspec
|
13
|
-
after_script:
|
14
|
-
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|
data/lib/data/2070.yml
DELETED
data/lib/data/2210.yml
DELETED
data/lib/data/2240.yml
DELETED
data/lib/data/2570.yml
DELETED
data/lib/data/2710.yml
DELETED
data/lib/data/2740.yml
DELETED
data/lib/data/8016.yml
DELETED
data/lib/data/9678.yml
DELETED