ibandit 1.9.0 → 1.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +4 -4
- data/data/german_iban_rules.yml +8 -59
- data/data/raw/BLZ2.txt +340 -487
- data/ibandit.gemspec +1 -1
- data/lib/ibandit/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1866d9f67f4447ac40d1554447d05076b0eced8053dcaf425876b820a301b012
|
4
|
+
data.tar.gz: dda8e72009151f2f8b0c2edd0bad39288c76d4d581b0faf398d156e0fb8b89b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a41bae1cd94dcf1338b5cbfff842cfbecb13153768deaec111ba284173a23bca48e3d417299b16b8a693234966e2d857ab03588574be3d033e95de3d4209aa30
|
7
|
+
data.tar.gz: 150b6eeffe8667c22ed41d698dfa196ca2624e008c814e30f82aa1a471ce4c38b04975759197275d3a3db38ee869233eb7c7025866b032ea2c5bc004cba9961e
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -4,7 +4,7 @@ Ibandit [![CircleCI](https://circleci.com/gh/gocardless/business.svg?style=svg)]
|
|
4
4
|
Ibandit is a Ruby library for manipulating and validating
|
5
5
|
[IBANs](http://en.wikipedia.org/wiki/International_Bank_Account_Number).
|
6
6
|
|
7
|
-
The primary objective is to provide an interface that enables the storage and retrieval national banking details as a single value. This may be an IBAN, if a country fully and unambiguously supports it, or a combination of IBAN and/or pseudo-IBAN.
|
7
|
+
The primary objective is to provide an interface that enables the storage and retrieval of national banking details as a single value. This may be an IBAN, if a country fully and unambiguously supports it, or a combination of IBAN and/or pseudo-IBAN.
|
8
8
|
|
9
9
|
Therefore, there are three distinct modes:
|
10
10
|
|
@@ -12,7 +12,7 @@ Therefore, there are three distinct modes:
|
|
12
12
|
2. For countries that have unambiguous IBANs: deconstruct an IBAN into national banking details
|
13
13
|
3. For countries where either of the above is not possible: a pseudo-IBAN as a substitute for the above.
|
14
14
|
|
15
|
-
For storage, you should always try to use the `pseudo_iban`, falling back to `iban` if it not available.
|
15
|
+
For storage, you should always try to use the `pseudo_iban`, falling back to `iban` if it is not available.
|
16
16
|
|
17
17
|
For example:
|
18
18
|
- Sweden does support IBANs (**1.**) but the format is ambiguous due to variable length account numbers so they cannot be deconstructed (**2.**). For persistence, we therefore recommend using pseudo-IBANs (**3.**) because the national banking details can be recovered from them.
|
@@ -129,7 +129,7 @@ end
|
|
129
129
|
Ibandit.modulus_checker = ModulusChecker
|
130
130
|
```
|
131
131
|
|
132
|
-
All three the `valid_bank_code?`, `valid_branch_code?` and `valid_account_number?` methods will receive an `IBAN` object.
|
132
|
+
All three of the `valid_bank_code?`, `valid_branch_code?` and `valid_account_number?` methods will receive an `IBAN` object.
|
133
133
|
`valid_bank_code?` and `valid_branch_code?` should return true unless it is known that the bank/branch code in this IBAN
|
134
134
|
are invalid in the country specified. `valid_account_number?` should return true unless it is known that the account number
|
135
135
|
in this IBAN cannot be valid due to local modulus checking rules.
|
@@ -137,7 +137,7 @@ in this IBAN cannot be valid due to local modulus checking rules.
|
|
137
137
|
### Deconstructing an IBAN into national banking details
|
138
138
|
|
139
139
|
SWIFT define the following components for IBANs, and publish details of how each
|
140
|
-
|
140
|
+
country combines them:
|
141
141
|
|
142
142
|
`country_code`
|
143
143
|
: The [ISO 3166-1](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) country code prefix
|
data/data/german_iban_rules.yml
CHANGED
@@ -17,6 +17,9 @@
|
|
17
17
|
'10010500':
|
18
18
|
:check_digit_rule: '09'
|
19
19
|
:iban_rule: '000000'
|
20
|
+
'10010700':
|
21
|
+
:check_digit_rule: '09'
|
22
|
+
:iban_rule: '000000'
|
20
23
|
'10011001':
|
21
24
|
:check_digit_rule: '09'
|
22
25
|
:iban_rule: '000000'
|
@@ -218,9 +221,6 @@
|
|
218
221
|
'10120100':
|
219
222
|
:check_digit_rule: '94'
|
220
223
|
:iban_rule: '000000'
|
221
|
-
'10120800':
|
222
|
-
:check_digit_rule: '09'
|
223
|
-
:iban_rule: '004800'
|
224
224
|
'10130600':
|
225
225
|
:check_digit_rule: '06'
|
226
226
|
:iban_rule: '000000'
|
@@ -1979,9 +1979,6 @@
|
|
1979
1979
|
'26991066':
|
1980
1980
|
:check_digit_rule: '50'
|
1981
1981
|
:iban_rule: '000000'
|
1982
|
-
'27010200':
|
1983
|
-
:check_digit_rule: '09'
|
1984
|
-
:iban_rule: '004800'
|
1985
1982
|
'27020000':
|
1986
1983
|
:check_digit_rule: D8
|
1987
1984
|
:iban_rule: '000000'
|
@@ -2246,9 +2243,6 @@
|
|
2246
2243
|
'28069926':
|
2247
2244
|
:check_digit_rule: '28'
|
2248
2245
|
:iban_rule: '000000'
|
2249
|
-
'28069930':
|
2250
|
-
:check_digit_rule: '28'
|
2251
|
-
:iban_rule: '000000'
|
2252
2246
|
'28069935':
|
2253
2247
|
:check_digit_rule: '28'
|
2254
2248
|
:iban_rule: '000000'
|
@@ -2534,9 +2528,6 @@
|
|
2534
2528
|
'30022000':
|
2535
2529
|
:check_digit_rule: '08'
|
2536
2530
|
:iban_rule: '000000'
|
2537
|
-
'30025500':
|
2538
|
-
:check_digit_rule: '08'
|
2539
|
-
:iban_rule: '000000'
|
2540
2531
|
'30030100':
|
2541
2532
|
:check_digit_rule: '56'
|
2542
2533
|
:iban_rule: '000000'
|
@@ -3029,9 +3020,6 @@
|
|
3029
3020
|
'36010043':
|
3030
3021
|
:check_digit_rule: '24'
|
3031
3022
|
:iban_rule: '000000'
|
3032
|
-
'36010200':
|
3033
|
-
:check_digit_rule: '09'
|
3034
|
-
:iban_rule: '000000'
|
3035
3023
|
'36010424':
|
3036
3024
|
:check_digit_rule: '09'
|
3037
3025
|
:iban_rule: '000000'
|
@@ -4349,9 +4337,6 @@
|
|
4349
4337
|
'47262703':
|
4350
4338
|
:check_digit_rule: '34'
|
4351
4339
|
:iban_rule: '000000'
|
4352
|
-
'47263472':
|
4353
|
-
:check_digit_rule: '34'
|
4354
|
-
:iban_rule: '000000'
|
4355
4340
|
'47264367':
|
4356
4341
|
:check_digit_rule: '34'
|
4357
4342
|
:iban_rule: '000000'
|
@@ -4421,9 +4406,6 @@
|
|
4421
4406
|
'47861518':
|
4422
4407
|
:check_digit_rule: '34'
|
4423
4408
|
:iban_rule: '000000'
|
4424
|
-
'47861806':
|
4425
|
-
:check_digit_rule: '34'
|
4426
|
-
:iban_rule: '000000'
|
4427
4409
|
'47862261':
|
4428
4410
|
:check_digit_rule: '34'
|
4429
4411
|
:iban_rule: '000000'
|
@@ -4443,7 +4425,7 @@
|
|
4443
4425
|
:check_digit_rule: '99'
|
4444
4426
|
:iban_rule: '003200'
|
4445
4427
|
'48020151':
|
4446
|
-
:check_digit_rule: '
|
4428
|
+
:check_digit_rule: '09'
|
4447
4429
|
:iban_rule: '000000'
|
4448
4430
|
'48021900':
|
4449
4431
|
:check_digit_rule: '34'
|
@@ -5043,7 +5025,7 @@
|
|
5043
5025
|
:check_digit_rule: '09'
|
5044
5026
|
:iban_rule: '000000'
|
5045
5027
|
'50131000':
|
5046
|
-
:check_digit_rule:
|
5028
|
+
:check_digit_rule: '09'
|
5047
5029
|
:iban_rule: '000000'
|
5048
5030
|
'50190000':
|
5049
5031
|
:check_digit_rule: '06'
|
@@ -5132,9 +5114,6 @@
|
|
5132
5114
|
'50324000':
|
5133
5115
|
:check_digit_rule: '31'
|
5134
5116
|
:iban_rule: '000000'
|
5135
|
-
'50324040':
|
5136
|
-
:check_digit_rule: '31'
|
5137
|
-
:iban_rule: '000000'
|
5138
5117
|
'50330000':
|
5139
5118
|
:check_digit_rule: '06'
|
5140
5119
|
:iban_rule: '000000'
|
@@ -5156,6 +5135,9 @@
|
|
5156
5135
|
'50334400':
|
5157
5136
|
:check_digit_rule: '09'
|
5158
5137
|
:iban_rule: '000000'
|
5138
|
+
'50339900':
|
5139
|
+
:check_digit_rule: '09'
|
5140
|
+
:iban_rule: '000000'
|
5159
5141
|
'50400000':
|
5160
5142
|
:check_digit_rule: '09'
|
5161
5143
|
:iban_rule: '004201'
|
@@ -5513,18 +5495,6 @@
|
|
5513
5495
|
'51230600':
|
5514
5496
|
:check_digit_rule: '09'
|
5515
5497
|
:iban_rule: '000000'
|
5516
|
-
'51230800':
|
5517
|
-
:check_digit_rule: '09'
|
5518
|
-
:iban_rule: '000000'
|
5519
|
-
'51230801':
|
5520
|
-
:check_digit_rule: '09'
|
5521
|
-
:iban_rule: '000000'
|
5522
|
-
'51230802':
|
5523
|
-
:check_digit_rule: '09'
|
5524
|
-
:iban_rule: '000000'
|
5525
|
-
'51230805':
|
5526
|
-
:check_digit_rule: '09'
|
5527
|
-
:iban_rule: '000000'
|
5528
5498
|
'51250000':
|
5529
5499
|
:check_digit_rule: '06'
|
5530
5500
|
:iban_rule: '000000'
|
@@ -5705,9 +5675,6 @@
|
|
5705
5675
|
'52064156':
|
5706
5676
|
:check_digit_rule: '32'
|
5707
5677
|
:iban_rule: '000000'
|
5708
|
-
'52065220':
|
5709
|
-
:check_digit_rule: '32'
|
5710
|
-
:iban_rule: '000000'
|
5711
5678
|
'52069013':
|
5712
5679
|
:check_digit_rule: '32'
|
5713
5680
|
:iban_rule: '000000'
|
@@ -6737,9 +6704,6 @@
|
|
6737
6704
|
'60020290':
|
6738
6705
|
:check_digit_rule: '99'
|
6739
6706
|
:iban_rule: '003400'
|
6740
|
-
'60020300':
|
6741
|
-
:check_digit_rule: '09'
|
6742
|
-
:iban_rule: '004800'
|
6743
6707
|
'60030000':
|
6744
6708
|
:check_digit_rule: A3
|
6745
6709
|
:iban_rule: '000000'
|
@@ -6827,9 +6791,6 @@
|
|
6827
6791
|
'60069224':
|
6828
6792
|
:check_digit_rule: '10'
|
6829
6793
|
:iban_rule: '000000'
|
6830
|
-
'60069235':
|
6831
|
-
:check_digit_rule: '10'
|
6832
|
-
:iban_rule: '000100'
|
6833
6794
|
'60069239':
|
6834
6795
|
:check_digit_rule: '10'
|
6835
6796
|
:iban_rule: '000000'
|
@@ -7154,9 +7115,6 @@
|
|
7154
7115
|
'60391420':
|
7155
7116
|
:check_digit_rule: '10'
|
7156
7117
|
:iban_rule: '000000'
|
7157
|
-
'60410600':
|
7158
|
-
:check_digit_rule: '09'
|
7159
|
-
:iban_rule: '000000'
|
7160
7118
|
'60420000':
|
7161
7119
|
:check_digit_rule: '06'
|
7162
7120
|
:iban_rule: '000000'
|
@@ -7511,9 +7469,6 @@
|
|
7511
7469
|
'64191030':
|
7512
7470
|
:check_digit_rule: '10'
|
7513
7471
|
:iban_rule: '000000'
|
7514
|
-
'64191210':
|
7515
|
-
:check_digit_rule: '10'
|
7516
|
-
:iban_rule: '000100'
|
7517
7472
|
'64191700':
|
7518
7473
|
:check_digit_rule: '10'
|
7519
7474
|
:iban_rule: '000000'
|
@@ -9986,9 +9941,6 @@
|
|
9986
9941
|
'79050000':
|
9987
9942
|
:check_digit_rule: '00'
|
9988
9943
|
:iban_rule: '000000'
|
9989
|
-
'79061000':
|
9990
|
-
:check_digit_rule: '88'
|
9991
|
-
:iban_rule: '000000'
|
9992
9944
|
'79062106':
|
9993
9945
|
:check_digit_rule: '88'
|
9994
9946
|
:iban_rule: '000000'
|
@@ -10025,9 +9977,6 @@
|
|
10025
9977
|
'79069213':
|
10026
9978
|
:check_digit_rule: '88'
|
10027
9979
|
:iban_rule: '000000'
|
10028
|
-
'79069271':
|
10029
|
-
:check_digit_rule: '88'
|
10030
|
-
:iban_rule: '000000'
|
10031
9980
|
'79070016':
|
10032
9981
|
:check_digit_rule: '63'
|
10033
9982
|
:iban_rule: '002002'
|