ibandit 1.8.0 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '08226e85893b75b353a9a6de43cbf9b91101fdbde782f075f99e5e79cf215610'
4
- data.tar.gz: 28f725e3bc6f3f9137e22bb25706d4a2a1134c5d5dabb1a71d64d14f2c45df49
3
+ metadata.gz: 1866d9f67f4447ac40d1554447d05076b0eced8053dcaf425876b820a301b012
4
+ data.tar.gz: dda8e72009151f2f8b0c2edd0bad39288c76d4d581b0faf398d156e0fb8b89b3
5
5
  SHA512:
6
- metadata.gz: 1d14ccc4c5f1942bccea74ed0fdcb3b6e6d4a27caab8176bcbc4ef3dafe37f56480f5f690aa0ef5d14ebbeeb751b3e8eba26c12ca38baa0219a9dd9e7061b602
7
- data.tar.gz: ce6011161b74a0ea546aa6059873df86233400dbea058a22dd063abe7fb56fa96eb418b924b12f7fad7404ad5e870cbdc0b198eb88f403434e10f96cf5b019fd
6
+ metadata.gz: a41bae1cd94dcf1338b5cbfff842cfbecb13153768deaec111ba284173a23bca48e3d417299b16b8a693234966e2d857ab03588574be3d033e95de3d4209aa30
7
+ data.tar.gz: 150b6eeffe8667c22ed41d698dfa196ca2624e008c814e30f82aa1a471ce4c38b04975759197275d3a3db38ee869233eb7c7025866b032ea2c5bc004cba9961e
data/.rubocop.yml CHANGED
@@ -1,6 +1,7 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
  inherit_gem:
3
3
  gc_ruboconfig: rubocop.yml
4
+ require: rubocop-rails
4
5
 
5
6
  AllCops:
6
7
  TargetRubyVersion: 2.5
@@ -48,3 +49,6 @@ Layout/DotPosition:
48
49
  # this is quite aggressive.
49
50
  Gemspec/RequiredRubyVersion:
50
51
  Enabled: false
52
+
53
+ Rails/Blank:
54
+ Enabled: false
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## 1.10.0 - June 1, 2022
2
+
3
+ - Update BLZ data - 05.05.22
4
+
5
+ ## 1.9.0 - February 16, 2022
6
+
7
+ - Update BLZ data - BLZ_20220307
8
+
9
+ ## 1.8.1 - February 8, 2022
10
+
11
+ - Fix issue with structure loading - thanks @shaicoleman
12
+
1
13
  ## 1.8.0 - January 7, 2022
2
14
 
3
15
  - Add Ruby 3.1 support
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
- county combines them:
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
@@ -154,7 +154,7 @@ if __FILE__ == $PROGRAM_NAME
154
154
  )
155
155
 
156
156
  structure_additions = YAML.safe_load(
157
- Pathname.new(__dir__).join("../data/raw/structure_additions.yml").read,
157
+ File.read(File.expand_path("../data/raw/structure_additions.yml", __dir__)),
158
158
  permitted_classes: [Range, Symbol],
159
159
  )
160
160
 
@@ -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'
@@ -1664,9 +1664,6 @@
1664
1664
  '25690009':
1665
1665
  :check_digit_rule: '28'
1666
1666
  :iban_rule: '000000'
1667
- '25690010':
1668
- :check_digit_rule: '28'
1669
- :iban_rule: '000000'
1670
1667
  '25691633':
1671
1668
  :check_digit_rule: '28'
1672
1669
  :iban_rule: '000000'
@@ -1802,9 +1799,6 @@
1802
1799
  '26251425':
1803
1800
  :check_digit_rule: '00'
1804
1801
  :iban_rule: '000000'
1805
- '26261396':
1806
- :check_digit_rule: '28'
1807
- :iban_rule: '000000'
1808
1802
  '26261492':
1809
1803
  :check_digit_rule: '28'
1810
1804
  :iban_rule: '000000'
@@ -1985,9 +1979,6 @@
1985
1979
  '26991066':
1986
1980
  :check_digit_rule: '50'
1987
1981
  :iban_rule: '000000'
1988
- '27010200':
1989
- :check_digit_rule: '09'
1990
- :iban_rule: '004800'
1991
1982
  '27020000':
1992
1983
  :check_digit_rule: D8
1993
1984
  :iban_rule: '000000'
@@ -2252,9 +2243,6 @@
2252
2243
  '28069926':
2253
2244
  :check_digit_rule: '28'
2254
2245
  :iban_rule: '000000'
2255
- '28069930':
2256
- :check_digit_rule: '28'
2257
- :iban_rule: '000000'
2258
2246
  '28069935':
2259
2247
  :check_digit_rule: '28'
2260
2248
  :iban_rule: '000000'
@@ -2540,9 +2528,6 @@
2540
2528
  '30022000':
2541
2529
  :check_digit_rule: '08'
2542
2530
  :iban_rule: '000000'
2543
- '30025500':
2544
- :check_digit_rule: '08'
2545
- :iban_rule: '000000'
2546
2531
  '30030100':
2547
2532
  :check_digit_rule: '56'
2548
2533
  :iban_rule: '000000'
@@ -3035,9 +3020,6 @@
3035
3020
  '36010043':
3036
3021
  :check_digit_rule: '24'
3037
3022
  :iban_rule: '000000'
3038
- '36010200':
3039
- :check_digit_rule: '09'
3040
- :iban_rule: '000000'
3041
3023
  '36010424':
3042
3024
  :check_digit_rule: '09'
3043
3025
  :iban_rule: '000000'
@@ -4355,9 +4337,6 @@
4355
4337
  '47262703':
4356
4338
  :check_digit_rule: '34'
4357
4339
  :iban_rule: '000000'
4358
- '47263472':
4359
- :check_digit_rule: '34'
4360
- :iban_rule: '000000'
4361
4340
  '47264367':
4362
4341
  :check_digit_rule: '34'
4363
4342
  :iban_rule: '000000'
@@ -4427,9 +4406,6 @@
4427
4406
  '47861518':
4428
4407
  :check_digit_rule: '34'
4429
4408
  :iban_rule: '000000'
4430
- '47861806':
4431
- :check_digit_rule: '34'
4432
- :iban_rule: '000000'
4433
4409
  '47862261':
4434
4410
  :check_digit_rule: '34'
4435
4411
  :iban_rule: '000000'
@@ -4449,7 +4425,7 @@
4449
4425
  :check_digit_rule: '99'
4450
4426
  :iban_rule: '003200'
4451
4427
  '48020151':
4452
- :check_digit_rule: '32'
4428
+ :check_digit_rule: '09'
4453
4429
  :iban_rule: '000000'
4454
4430
  '48021900':
4455
4431
  :check_digit_rule: '34'
@@ -5049,7 +5025,7 @@
5049
5025
  :check_digit_rule: '09'
5050
5026
  :iban_rule: '000000'
5051
5027
  '50131000':
5052
- :check_digit_rule: E1
5028
+ :check_digit_rule: '09'
5053
5029
  :iban_rule: '000000'
5054
5030
  '50190000':
5055
5031
  :check_digit_rule: '06'
@@ -5138,9 +5114,6 @@
5138
5114
  '50324000':
5139
5115
  :check_digit_rule: '31'
5140
5116
  :iban_rule: '000000'
5141
- '50324040':
5142
- :check_digit_rule: '31'
5143
- :iban_rule: '000000'
5144
5117
  '50330000':
5145
5118
  :check_digit_rule: '06'
5146
5119
  :iban_rule: '000000'
@@ -5162,6 +5135,9 @@
5162
5135
  '50334400':
5163
5136
  :check_digit_rule: '09'
5164
5137
  :iban_rule: '000000'
5138
+ '50339900':
5139
+ :check_digit_rule: '09'
5140
+ :iban_rule: '000000'
5165
5141
  '50400000':
5166
5142
  :check_digit_rule: '09'
5167
5143
  :iban_rule: '004201'
@@ -5519,18 +5495,6 @@
5519
5495
  '51230600':
5520
5496
  :check_digit_rule: '09'
5521
5497
  :iban_rule: '000000'
5522
- '51230800':
5523
- :check_digit_rule: '09'
5524
- :iban_rule: '000000'
5525
- '51230801':
5526
- :check_digit_rule: '09'
5527
- :iban_rule: '000000'
5528
- '51230802':
5529
- :check_digit_rule: '09'
5530
- :iban_rule: '000000'
5531
- '51230805':
5532
- :check_digit_rule: '09'
5533
- :iban_rule: '000000'
5534
5498
  '51250000':
5535
5499
  :check_digit_rule: '06'
5536
5500
  :iban_rule: '000000'
@@ -5585,12 +5549,12 @@
5585
5549
  '51420300':
5586
5550
  :check_digit_rule: '17'
5587
5551
  :iban_rule: '000000'
5588
- '51420600':
5589
- :check_digit_rule: '09'
5590
- :iban_rule: '000000'
5591
5552
  '51430400':
5592
5553
  :check_digit_rule: '09'
5593
5554
  :iban_rule: '000100'
5555
+ '51430410':
5556
+ :check_digit_rule: '09'
5557
+ :iban_rule: '000000'
5594
5558
  '51432100':
5595
5559
  :check_digit_rule: '09'
5596
5560
  :iban_rule: '000000'
@@ -5711,9 +5675,6 @@
5711
5675
  '52064156':
5712
5676
  :check_digit_rule: '32'
5713
5677
  :iban_rule: '000000'
5714
- '52065220':
5715
- :check_digit_rule: '32'
5716
- :iban_rule: '000000'
5717
5678
  '52069013':
5718
5679
  :check_digit_rule: '32'
5719
5680
  :iban_rule: '000000'
@@ -6183,7 +6144,7 @@
6183
6144
  :check_digit_rule: '13'
6184
6145
  :iban_rule: '000503'
6185
6146
  '55350010':
6186
- :check_digit_rule: '03'
6147
+ :check_digit_rule: A7
6187
6148
  :iban_rule: '000000'
6188
6149
  '55361202':
6189
6150
  :check_digit_rule: '32'
@@ -6743,9 +6704,6 @@
6743
6704
  '60020290':
6744
6705
  :check_digit_rule: '99'
6745
6706
  :iban_rule: '003400'
6746
- '60020300':
6747
- :check_digit_rule: '09'
6748
- :iban_rule: '004800'
6749
6707
  '60030000':
6750
6708
  :check_digit_rule: A3
6751
6709
  :iban_rule: '000000'
@@ -6833,9 +6791,6 @@
6833
6791
  '60069224':
6834
6792
  :check_digit_rule: '10'
6835
6793
  :iban_rule: '000000'
6836
- '60069235':
6837
- :check_digit_rule: '10'
6838
- :iban_rule: '000100'
6839
6794
  '60069239':
6840
6795
  :check_digit_rule: '10'
6841
6796
  :iban_rule: '000000'
@@ -7160,9 +7115,6 @@
7160
7115
  '60391420':
7161
7116
  :check_digit_rule: '10'
7162
7117
  :iban_rule: '000000'
7163
- '60410600':
7164
- :check_digit_rule: '09'
7165
- :iban_rule: '000000'
7166
7118
  '60420000':
7167
7119
  :check_digit_rule: '06'
7168
7120
  :iban_rule: '000000'
@@ -7517,9 +7469,6 @@
7517
7469
  '64191030':
7518
7470
  :check_digit_rule: '10'
7519
7471
  :iban_rule: '000000'
7520
- '64191210':
7521
- :check_digit_rule: '10'
7522
- :iban_rule: '000100'
7523
7472
  '64191700':
7524
7473
  :check_digit_rule: '10'
7525
7474
  :iban_rule: '000000'
@@ -9992,9 +9941,6 @@
9992
9941
  '79050000':
9993
9942
  :check_digit_rule: '00'
9994
9943
  :iban_rule: '000000'
9995
- '79061000':
9996
- :check_digit_rule: '88'
9997
- :iban_rule: '000000'
9998
9944
  '79062106':
9999
9945
  :check_digit_rule: '88'
10000
9946
  :iban_rule: '000000'
@@ -10031,9 +9977,6 @@
10031
9977
  '79069213':
10032
9978
  :check_digit_rule: '88'
10033
9979
  :iban_rule: '000000'
10034
- '79069271':
10035
- :check_digit_rule: '88'
10036
- :iban_rule: '000000'
10037
9980
  '79070016':
10038
9981
  :check_digit_rule: '63'
10039
9982
  :iban_rule: '002002'