banking_data 0.9.2 → 0.9.5
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 +5 -5
- data/.travis.yml +1 -1
- data/README.md +14 -0
- data/banking_data.gemspec +3 -3
- data/data/BIC-lijst-NL.csv +75 -71
- data/data/SEPA-ZV-VZ_gesamt_de_1642675944518_alte_Version.csv +879 -0
- data/data/bcbankenstamm.txt +3482 -3303
- data/data/{blz_2017_09_04_txt → blz_2021_12_06.txt} +15411 -16184
- data/lib/banking_data/austrian_bank.rb +1 -1
- data/lib/banking_data/dutch_bank.rb +2 -2
- data/lib/banking_data/german_bank.rb +1 -1
- data/lib/banking_data/version.rb +1 -1
- data/spec/banking_data/austrian_bank_spec.rb +16 -1
- data/spec/banking_data/dutch_bank_spec.rb +25 -0
- data/spec/banking_data/german_bank_spec.rb +14 -0
- data/spec/banking_data/swiss_bank_spec.rb +9 -1
- metadata +12 -12
- data/data/SEPA-ZV-VZ_gesamt_de_1502983225066.csv +0 -882
|
@@ -23,9 +23,9 @@ class BankingData::DutchBank < BankingData::Bank
|
|
|
23
23
|
def get_all
|
|
24
24
|
banks = []
|
|
25
25
|
SmarterCSV.process(file, opts).each do |line|
|
|
26
|
-
bank_id = line[:
|
|
26
|
+
bank_id = line[:identifier].to_s
|
|
27
27
|
bic = line[:bic]
|
|
28
|
-
name = line[:
|
|
28
|
+
name = line[:naam_betaaldienstverlener].to_s
|
|
29
29
|
if bank_id && bic && name
|
|
30
30
|
banks << new(name: name, bank_id: bank_id, bic: bic)
|
|
31
31
|
end
|
data/lib/banking_data/version.rb
CHANGED
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
|
3
3
|
module BankingData
|
|
4
4
|
describe AustrianBank do
|
|
5
5
|
describe 'end-to-end test' do
|
|
6
|
-
['RCNOATW1XXX', '
|
|
6
|
+
['RCNOATW1XXX', 'EUAAATWWXXX'].each do |bic|
|
|
7
7
|
it "includes #{bic}" do
|
|
8
8
|
expect(AustrianBank.only(:bic).map(&:first)).to include(bic)
|
|
9
9
|
expect(Bank.where(locale: :at).only(:bic).map(&:first))
|
|
@@ -21,6 +21,21 @@ module BankingData
|
|
|
21
21
|
.to eq([blz])
|
|
22
22
|
end
|
|
23
23
|
end
|
|
24
|
+
|
|
25
|
+
it 'all bics are blank or look like bics' do
|
|
26
|
+
bics = AustrianBank.only(:bic).map(&:first)
|
|
27
|
+
# regular expression: the bic should have 11 characters, that are either
|
|
28
|
+
# all white space or consist of capital letters and digits
|
|
29
|
+
expect(bics.select{ |bic| !( bic =~ /\A(\s|([A-Z]|\d)){11}\z/ ) }).
|
|
30
|
+
to eq([])
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it 'all blz except two exceptions consist of 5 digits' do
|
|
34
|
+
exceptions = ['1000', '100']
|
|
35
|
+
blzs = AustrianBank.only(:blz).map(&:first) - exceptions
|
|
36
|
+
expect(blzs.select{ |blz| !( blz =~ /\A\d{5}\z/ ) }).
|
|
37
|
+
to eq([])
|
|
38
|
+
end
|
|
24
39
|
end
|
|
25
40
|
end
|
|
26
41
|
end
|
|
@@ -11,5 +11,30 @@ module BankingData
|
|
|
11
11
|
end
|
|
12
12
|
end
|
|
13
13
|
end
|
|
14
|
+
|
|
15
|
+
it 'all but one bics are blank or look like bics' do
|
|
16
|
+
exceptions = ['BOFSNL21002']
|
|
17
|
+
bics = DutchBank.only(:bic).map(&:first) - exceptions
|
|
18
|
+
# regular expression: the bic should have 8 characters, that are either
|
|
19
|
+
# all white space or consist of capital letters and digits
|
|
20
|
+
expect(bics.select{ |bic| !( bic =~ /\A(\s|([A-Z]|\d)){8}\z/ ) }).
|
|
21
|
+
to eq([])
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it 'all bank identifiers consist of 4 capital letters' do
|
|
25
|
+
bank_ids = DutchBank.only(:bank_id).map(&:first)
|
|
26
|
+
# regular expression: the bic should have 8 characters, that are either
|
|
27
|
+
# all white space or consist of capital letters and digits
|
|
28
|
+
expect(bank_ids.select{ |bank_id| !( bank_id =~ /\A[A-Z]{4}\z/ ) }).
|
|
29
|
+
to eq([])
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
it 'all bank names have at least one letter' do
|
|
33
|
+
names = DutchBank.only(:name).map(&:first)
|
|
34
|
+
# regular expression: the bic should have 8 characters, that are either
|
|
35
|
+
# all white space or consist of capital letters and digits
|
|
36
|
+
expect(names.select{ |name| !( name =~ /\A.*[a-zA-Z]+.*\z/ ) }).
|
|
37
|
+
to eq([])
|
|
38
|
+
end
|
|
14
39
|
end
|
|
15
40
|
end
|
|
@@ -22,6 +22,20 @@ module BankingData
|
|
|
22
22
|
.to eq([blz])
|
|
23
23
|
end
|
|
24
24
|
end
|
|
25
|
+
|
|
26
|
+
it 'all bics are blank or look like bics' do
|
|
27
|
+
bics = GermanBank.only(:bic).map(&:first)
|
|
28
|
+
# regular expression: the bic should have 11 characters, that are either
|
|
29
|
+
# all white space or consist of capital letters and digits
|
|
30
|
+
expect(bics.select{ |bic| !( bic =~ /\A(\s|([A-Z]|\d)){11}\z/ ) }).
|
|
31
|
+
to eq([])
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
it 'all blz consist of 8 digits' do
|
|
35
|
+
blzs = GermanBank.only(:blz).map(&:first)
|
|
36
|
+
expect(blzs.select{ |blz| !( blz =~ /\A\d{8}\z/ ) }).
|
|
37
|
+
to eq([])
|
|
38
|
+
end
|
|
25
39
|
end
|
|
26
40
|
end
|
|
27
41
|
end
|
|
@@ -3,13 +3,21 @@ require 'spec_helper'
|
|
|
3
3
|
module BankingData
|
|
4
4
|
describe SwissBank do
|
|
5
5
|
describe 'end-to-end test' do
|
|
6
|
-
['SNBZCHZZXXX', 'UBSWCHZH31A'].each do |bic|
|
|
6
|
+
['SNBZCHZZXXX', 'UBSWCHZH31A', 'VBBECH22XXX'].each do |bic|
|
|
7
7
|
it "includes #{bic}" do
|
|
8
8
|
expect(SwissBank.only(:bic).map(&:first)).to include(bic)
|
|
9
9
|
expect(Bank.where(locale: :ch).only(:bic).map(&:first))
|
|
10
10
|
.to include(bic)
|
|
11
11
|
end
|
|
12
12
|
end
|
|
13
|
+
|
|
14
|
+
it 'all bics are blank or look like bics' do
|
|
15
|
+
bics = SwissBank.only(:bic).map(&:first)
|
|
16
|
+
# regular expression: the bic should have 11 characters, that are either
|
|
17
|
+
# all white space or consist of capital letters and digits
|
|
18
|
+
expect(bics.select{ |bic| !( bic =~ /\A(\s|([A-Z]|\d)){11}\z/ ) }).
|
|
19
|
+
to eq([])
|
|
20
|
+
end
|
|
13
21
|
end
|
|
14
22
|
end
|
|
15
23
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: banking_data
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.9.
|
|
4
|
+
version: 0.9.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Frank C. Eckert
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-04-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -42,16 +42,16 @@ dependencies:
|
|
|
42
42
|
name: smarter_csv
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
|
-
- - "
|
|
45
|
+
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 1.
|
|
47
|
+
version: 1.2.9
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
|
-
- - "
|
|
52
|
+
- - ">="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 1.
|
|
54
|
+
version: 1.2.9
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: rspec
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -137,7 +137,8 @@ dependencies:
|
|
|
137
137
|
- !ruby/object:Gem::Version
|
|
138
138
|
version: '0'
|
|
139
139
|
description: This gem exposes the official banking data of the respective national
|
|
140
|
-
banks of Germany, Austria and Switzerland, including bank codes and
|
|
140
|
+
banks of Germany, Austria, Netherlands and Switzerland, including bank codes and
|
|
141
|
+
SWIFT-codes/BICs.
|
|
141
142
|
email: frank.eckert@boost-project.com
|
|
142
143
|
executables: []
|
|
143
144
|
extensions: []
|
|
@@ -156,9 +157,9 @@ files:
|
|
|
156
157
|
- banking_data.gemspec
|
|
157
158
|
- data/BIC-lijst-NL.csv
|
|
158
159
|
- data/README.md
|
|
159
|
-
- data/SEPA-ZV-
|
|
160
|
+
- data/SEPA-ZV-VZ_gesamt_de_1642675944518_alte_Version.csv
|
|
160
161
|
- data/bcbankenstamm.txt
|
|
161
|
-
- data/
|
|
162
|
+
- data/blz_2021_12_06.txt
|
|
162
163
|
- gemfiles/rails_3.0.gemfile
|
|
163
164
|
- gemfiles/rails_4.0.gemfile
|
|
164
165
|
- gemfiles/rails_4.2.gemfile
|
|
@@ -199,11 +200,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
199
200
|
- !ruby/object:Gem::Version
|
|
200
201
|
version: '0'
|
|
201
202
|
requirements: []
|
|
202
|
-
|
|
203
|
-
rubygems_version: 2.6.12
|
|
203
|
+
rubygems_version: 3.1.4
|
|
204
204
|
signing_key:
|
|
205
205
|
specification_version: 4
|
|
206
|
-
summary: Banking data for German, Austrian and Swiss banks
|
|
206
|
+
summary: Banking data for German, Austrian, Dutch and Swiss banks
|
|
207
207
|
test_files:
|
|
208
208
|
- spec/banking_data/austrian_bank_spec.rb
|
|
209
209
|
- spec/banking_data/bank_spec.rb
|