ibandit 1.4.1 → 1.7.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.
data/data/structures.yml CHANGED
@@ -983,9 +983,12 @@ EG:
983
983
  AU:
984
984
  :bank_code_length: 0
985
985
  :branch_code_length: 6
986
- :account_number_length: 10
986
+ :account_number_length: !ruby/range
987
+ begin: 5
988
+ end: 10
989
+ excl: false
987
990
  :branch_code_format: "\\d{6}"
988
- :account_number_format: "[A-Z0-9]{10}"
991
+ :account_number_format: "[A-Z0-9]{5,10}"
989
992
  :pseudo_iban_bank_code_length: 0
990
993
  :pseudo_iban_branch_code_length: 6
991
994
  :pseudo_iban_account_number_length: 10
@@ -993,7 +996,10 @@ AU:
993
996
  CA:
994
997
  :bank_code_length: 4
995
998
  :branch_code_length: 5
996
- :account_number_length: 12
999
+ :account_number_length: !ruby/range
1000
+ begin: 7
1001
+ end: 12
1002
+ excl: false
997
1003
  :bank_code_format: "\\d{4}"
998
1004
  :branch_code_format: "\\d{5}"
999
1005
  :account_number_format: "\\d{7,12}"
@@ -1015,7 +1021,10 @@ NZ:
1015
1021
  US:
1016
1022
  :bank_code_length: 9
1017
1023
  :branch_code_length: 0
1018
- :account_number_length: 17
1024
+ :account_number_length: !ruby/range
1025
+ begin: 1
1026
+ end: 17
1027
+ excl: false
1019
1028
  :bank_code_format: "\\d{9}"
1020
1029
  :account_number_format: "_*\\d{1,17}"
1021
1030
  :national_id_length: 9
data/ibandit.gemspec CHANGED
@@ -3,10 +3,10 @@
3
3
  require File.expand_path("lib/ibandit/version", __dir__)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
- gem.add_development_dependency "gc_ruboconfig", "~> 2.24.0"
6
+ gem.add_development_dependency "gc_ruboconfig", "~> 2.26.0"
7
7
  gem.add_development_dependency "nokogiri", "~> 1.6"
8
- gem.add_development_dependency "pry", "~> 0.10"
9
- gem.add_development_dependency "pry-nav", "~> 0.2"
8
+ gem.add_development_dependency "pry", "~> 0.13"
9
+ gem.add_development_dependency "pry-byebug", "~> 3.9"
10
10
  gem.add_development_dependency "rspec", "~> 3.3"
11
11
  gem.add_development_dependency "rspec-its", "~> 1.2"
12
12
  gem.add_development_dependency "rspec_junit_formatter", "~> 0.4.1"
data/lib/ibandit/iban.rb CHANGED
@@ -174,9 +174,7 @@ module Ibandit
174
174
 
175
175
  def valid_branch_code_length?
176
176
  return unless valid_country_code?
177
- if swift_branch_code.to_s.length == structure[:branch_code_length]
178
- return true
179
- end
177
+ return true if swift_branch_code.to_s.length == structure[:branch_code_length]
180
178
 
181
179
  if structure[:branch_code_length]&.zero?
182
180
  @errors[:branch_code] = Ibandit.translate(:not_used_in_country,
@@ -199,8 +197,13 @@ module Ibandit
199
197
  return false
200
198
  end
201
199
 
202
- if swift_account_number.length == structure[:account_number_length]
203
- return true
200
+ case structure[:account_number_length]
201
+ when Range
202
+ if structure[:account_number_length].include?(swift_account_number.length)
203
+ return true
204
+ end
205
+ else
206
+ return true if swift_account_number.length == structure[:account_number_length]
204
207
  end
205
208
 
206
209
  @errors[:account_number] =
@@ -68,14 +68,13 @@ module Ibandit
68
68
 
69
69
  def self.clean_au_details(local_details)
70
70
  # Account number may be up to 10 digits long.
71
- # Add leading zeros to account number if < 10 digits.
72
71
  #
73
72
  # Minimum account_number length is 5
74
73
  return {} unless local_details[:account_number].length >= 5
75
74
 
76
75
  {
77
76
  branch_code: local_details[:branch_code].delete("-"),
78
- account_number: local_details[:account_number].rjust(10, "0"),
77
+ account_number: local_details[:account_number],
79
78
  }
80
79
  end
81
80
 
@@ -91,7 +90,7 @@ module Ibandit
91
90
  def self.clean_ca_details(local_details)
92
91
  account_number = local_details[:account_number].tr("-", "")
93
92
 
94
- return {} if account_number.length < 7 # minimum length
93
+ return {} unless (7..12).cover?(account_number.length)
95
94
 
96
95
  bank_code = if local_details[:bank_code].length == 3
97
96
  local_details[:bank_code].rjust(4, "0")
@@ -100,7 +99,7 @@ module Ibandit
100
99
  end
101
100
 
102
101
  {
103
- account_number: account_number.rjust(12, "0"),
102
+ account_number: account_number,
104
103
  bank_code: bank_code,
105
104
  }
106
105
  end
@@ -113,7 +112,7 @@ module Ibandit
113
112
 
114
113
  {
115
114
  bank_code: local_details[:bank_code],
116
- account_number: account_number.rjust(17, "_"),
115
+ account_number: account_number,
117
116
  }
118
117
  end
119
118
 
@@ -330,9 +329,7 @@ module Ibandit
330
329
  def self.clean_hu_details(local_details)
331
330
  # This method supports being passed the component IBAN parts, as defined
332
331
  # by SWIFT, or a single 16 or 24 digit string.
333
- if local_details[:bank_code] || local_details[:branch_code]
334
- return local_details
335
- end
332
+ return local_details if local_details[:bank_code] || local_details[:branch_code]
336
333
 
337
334
  cleaned_acct_number = local_details[:account_number].gsub(/[-\s]/, "")
338
335
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ibandit
4
- VERSION = "1.4.1"
4
+ VERSION = "1.7.0"
5
5
  end
@@ -201,13 +201,13 @@ describe Ibandit::IBAN do
201
201
  its(:country_code) { is_expected.to eq("AU") }
202
202
  its(:bank_code) { is_expected.to be_nil }
203
203
  its(:branch_code) { is_expected.to eq("123456") }
204
- its(:account_number) { is_expected.to eq("0123456789") }
204
+ its(:account_number) { is_expected.to eq("123456789") }
205
205
  its(:swift_bank_code) { is_expected.to be_nil }
206
206
  its(:swift_branch_code) { is_expected.to eq("123456") }
207
- its(:swift_account_number) { is_expected.to eq("0123456789") }
207
+ its(:swift_account_number) { is_expected.to eq("123456789") }
208
208
  its(:swift_national_id) { is_expected.to eq("123456") }
209
209
  its(:iban) { is_expected.to be_nil }
210
- its(:pseudo_iban) { is_expected.to eq("AUZZ1234560123456789") }
210
+ its(:pseudo_iban) { is_expected.to eq("AUZZ123456_123456789") }
211
211
  its(:valid?) { is_expected.to eq(true) }
212
212
  its(:to_s) { is_expected.to eq("") }
213
213
  end
@@ -218,13 +218,13 @@ describe Ibandit::IBAN do
218
218
  its(:country_code) { is_expected.to eq("AU") }
219
219
  its(:bank_code) { is_expected.to be_nil }
220
220
  its(:branch_code) { is_expected.to eq("123456") }
221
- its(:account_number) { is_expected.to eq("0000012345") }
221
+ its(:account_number) { is_expected.to eq("12345") }
222
222
  its(:swift_bank_code) { is_expected.to be_nil }
223
223
  its(:swift_branch_code) { is_expected.to eq("123456") }
224
- its(:swift_account_number) { is_expected.to eq("0000012345") }
224
+ its(:swift_account_number) { is_expected.to eq("12345") }
225
225
  its(:swift_national_id) { is_expected.to eq("123456") }
226
226
  its(:iban) { is_expected.to be_nil }
227
- its(:pseudo_iban) { is_expected.to eq("AUZZ1234560000012345") }
227
+ its(:pseudo_iban) { is_expected.to eq("AUZZ123456_____12345") }
228
228
  its(:valid?) { is_expected.to eq(true) }
229
229
  its(:to_s) { is_expected.to eq("") }
230
230
  end
@@ -235,13 +235,13 @@ describe Ibandit::IBAN do
235
235
  its(:country_code) { is_expected.to eq("AU") }
236
236
  its(:bank_code) { is_expected.to be_nil }
237
237
  its(:branch_code) { is_expected.to eq("123456") }
238
- its(:account_number) { is_expected.to eq("0000123456") }
238
+ its(:account_number) { is_expected.to eq("123456") }
239
239
  its(:swift_bank_code) { is_expected.to be_nil }
240
240
  its(:swift_branch_code) { is_expected.to eq("123456") }
241
- its(:swift_account_number) { is_expected.to eq("0000123456") }
241
+ its(:swift_account_number) { is_expected.to eq("123456") }
242
242
  its(:swift_national_id) { is_expected.to eq("123456") }
243
243
  its(:iban) { is_expected.to be_nil }
244
- its(:pseudo_iban) { is_expected.to eq("AUZZ1234560000123456") }
244
+ its(:pseudo_iban) { is_expected.to eq("AUZZ123456____123456") }
245
245
  its(:valid?) { is_expected.to eq(true) }
246
246
  its(:to_s) { is_expected.to eq("") }
247
247
  end
@@ -269,13 +269,13 @@ describe Ibandit::IBAN do
269
269
  its(:country_code) { is_expected.to eq("AU") }
270
270
  its(:bank_code) { is_expected.to be_nil }
271
271
  its(:branch_code) { is_expected.to eq("123456") }
272
- its(:account_number) { is_expected.to eq("0XX1234567") }
272
+ its(:account_number) { is_expected.to eq("XX1234567") }
273
273
  its(:swift_bank_code) { is_expected.to be_nil }
274
274
  its(:swift_branch_code) { is_expected.to eq("123456") }
275
- its(:swift_account_number) { is_expected.to eq("0XX1234567") }
275
+ its(:swift_account_number) { is_expected.to eq("XX1234567") }
276
276
  its(:swift_national_id) { is_expected.to eq("123456") }
277
277
  its(:iban) { is_expected.to be_nil }
278
- its(:pseudo_iban) { is_expected.to eq("AUZZ1234560XX1234567") }
278
+ its(:pseudo_iban) { is_expected.to eq("AUZZ123456_XX1234567") }
279
279
  its(:valid?) { is_expected.to eq(true) }
280
280
  its(:to_s) { is_expected.to eq("") }
281
281
  end
@@ -303,13 +303,13 @@ describe Ibandit::IBAN do
303
303
  its(:country_code) { is_expected.to eq("AU") }
304
304
  its(:bank_code) { is_expected.to be_nil }
305
305
  its(:branch_code) { is_expected.to eq("123456") }
306
- its(:account_number) { is_expected.to eq("0000000000") }
306
+ its(:account_number) { is_expected.to eq("000000") }
307
307
  its(:swift_bank_code) { is_expected.to be_nil }
308
308
  its(:swift_branch_code) { is_expected.to eq("123456") }
309
- its(:swift_account_number) { is_expected.to eq("0000000000") }
309
+ its(:swift_account_number) { is_expected.to eq("000000") }
310
310
  its(:swift_national_id) { is_expected.to eq("123456") }
311
311
  its(:iban) { is_expected.to be_nil }
312
- its(:pseudo_iban) { is_expected.to eq("AUZZ1234560000000000") }
312
+ its(:pseudo_iban) { is_expected.to eq("AUZZ123456____000000") }
313
313
  its(:valid?) { is_expected.to eq(false) }
314
314
  its(:to_s) { is_expected.to eq("") }
315
315
  end
@@ -321,13 +321,13 @@ describe Ibandit::IBAN do
321
321
  its(:country_code) { is_expected.to eq("AU") }
322
322
  its(:bank_code) { is_expected.to be_nil }
323
323
  its(:branch_code) { is_expected.to eq("123456") }
324
- its(:account_number) { is_expected.to eq("0123456789") }
324
+ its(:account_number) { is_expected.to eq("123456789") }
325
325
  its(:swift_bank_code) { is_expected.to be_nil }
326
326
  its(:swift_branch_code) { is_expected.to eq("123456") }
327
- its(:swift_account_number) { is_expected.to eq("0123456789") }
327
+ its(:swift_account_number) { is_expected.to eq("123456789") }
328
328
  its(:swift_national_id) { is_expected.to eq("123456") }
329
329
  its(:iban) { is_expected.to be_nil }
330
- its(:pseudo_iban) { is_expected.to eq("AUZZ1234560123456789") }
330
+ its(:pseudo_iban) { is_expected.to eq("AUZZ123456_123456789") }
331
331
  its(:valid?) { is_expected.to eq(true) }
332
332
  its(:to_s) { is_expected.to eq("") }
333
333
 
@@ -358,7 +358,7 @@ describe Ibandit::IBAN do
358
358
  it "is invalid and has the correct errors" do
359
359
  expect(subject.valid?).to eq(false)
360
360
  expect(subject.errors).
361
- to eq(account_number: "is the wrong length (should be 10 characters)")
361
+ to eq(account_number: "is the wrong length (should be 5..10 characters)")
362
362
  end
363
363
  end
364
364
 
@@ -377,7 +377,7 @@ describe Ibandit::IBAN do
377
377
  it "is invalid and has the correct errors" do
378
378
  expect(subject.valid?).to eq(false)
379
379
  expect(subject.errors).to eq(
380
- account_number: "is the wrong length (should be 10 characters)",
380
+ account_number: "is the wrong length (should be 5..10 characters)",
381
381
  )
382
382
  end
383
383
  end
@@ -418,12 +418,12 @@ describe Ibandit::IBAN do
418
418
  its(:country_code) { is_expected.to eq("CA") }
419
419
  its(:bank_code) { is_expected.to eq("0036") }
420
420
  its(:branch_code) { is_expected.to eq("00063") }
421
- its(:account_number) { is_expected.to eq("000000123456") }
421
+ its(:account_number) { is_expected.to eq("0123456") }
422
422
  its(:swift_bank_code) { is_expected.to eq("0036") }
423
423
  its(:swift_branch_code) { is_expected.to eq("00063") }
424
- its(:swift_account_number) { is_expected.to eq("000000123456") }
424
+ its(:swift_account_number) { is_expected.to eq("0123456") }
425
425
  its(:swift_national_id) { is_expected.to eq("003600063") }
426
- its(:pseudo_iban) { is_expected.to eq("CAZZ003600063000000123456") }
426
+ its(:pseudo_iban) { is_expected.to eq("CAZZ003600063_____0123456") }
427
427
 
428
428
  its(:iban) { is_expected.to be_nil }
429
429
  its(:valid?) { is_expected.to eq(true) }
@@ -437,12 +437,12 @@ describe Ibandit::IBAN do
437
437
  its(:country_code) { is_expected.to eq("CA") }
438
438
  its(:bank_code) { is_expected.to eq("36") }
439
439
  its(:branch_code) { is_expected.to eq("00063") }
440
- its(:account_number) { is_expected.to eq("000000123456") }
440
+ its(:account_number) { is_expected.to eq("0123456") }
441
441
  its(:swift_bank_code) { is_expected.to eq("36") }
442
442
  its(:swift_branch_code) { is_expected.to eq("00063") }
443
- its(:swift_account_number) { is_expected.to eq("000000123456") }
443
+ its(:swift_account_number) { is_expected.to eq("0123456") }
444
444
  its(:swift_national_id) { is_expected.to eq("3600063") }
445
- its(:pseudo_iban) { is_expected.to eq("CAZZ__3600063000000123456") }
445
+ its(:pseudo_iban) { is_expected.to eq("CAZZ__3600063_____0123456") }
446
446
 
447
447
  its(:iban) { is_expected.to be_nil }
448
448
  its(:valid?) { is_expected.to eq(false) }
@@ -456,12 +456,12 @@ describe Ibandit::IBAN do
456
456
  its(:country_code) { is_expected.to eq("CA") }
457
457
  its(:bank_code) { is_expected.to eq("0036") }
458
458
  its(:branch_code) { is_expected.to eq("00063") }
459
- its(:account_number) { is_expected.to eq("000000123456") }
459
+ its(:account_number) { is_expected.to eq("0123456") }
460
460
  its(:swift_bank_code) { is_expected.to eq("0036") }
461
461
  its(:swift_branch_code) { is_expected.to eq("00063") }
462
- its(:swift_account_number) { is_expected.to eq("000000123456") }
462
+ its(:swift_account_number) { is_expected.to eq("0123456") }
463
463
  its(:swift_national_id) { is_expected.to eq("003600063") }
464
- its(:pseudo_iban) { is_expected.to eq("CAZZ003600063000000123456") }
464
+ its(:pseudo_iban) { is_expected.to eq("CAZZ003600063_____0123456") }
465
465
 
466
466
  its(:iban) { is_expected.to be_nil }
467
467
  its(:valid?) { is_expected.to eq(true) }
@@ -501,11 +501,11 @@ describe Ibandit::IBAN do
501
501
  its(:country_code) { is_expected.to eq("CA") }
502
502
  its(:bank_code) { is_expected.to eq("0036") }
503
503
  its(:branch_code) { is_expected.to eq("00063") }
504
- its(:account_number) { is_expected.to eq("000000123456") }
504
+ its(:account_number) { is_expected.to eq("0123456") }
505
505
  its(:swift_bank_code) { is_expected.to eq("0036") }
506
506
  its(:swift_branch_code) { is_expected.to eq("00063") }
507
- its(:swift_account_number) { is_expected.to eq("000000123456") }
508
- its(:pseudo_iban) { is_expected.to eq("CAZZ003600063000000123456") }
507
+ its(:swift_account_number) { is_expected.to eq("0123456") }
508
+ its(:pseudo_iban) { is_expected.to eq("CAZZ003600063_____0123456") }
509
509
 
510
510
  its(:iban) { is_expected.to be_nil }
511
511
  its(:valid?) { is_expected.to be true }
@@ -518,7 +518,7 @@ describe Ibandit::IBAN do
518
518
  it "is invalid and has the correct errors" do
519
519
  expect(subject.valid?).to eq(false)
520
520
  expect(subject.errors).
521
- to eq(account_number: "is the wrong length (should be 12 characters)")
521
+ to eq(account_number: "is the wrong length (should be 7..12 characters)")
522
522
  end
523
523
  end
524
524
 
@@ -709,10 +709,10 @@ describe Ibandit::IBAN do
709
709
 
710
710
  its(:country_code) { is_expected.to eq("US") }
711
711
  its(:bank_code) { is_expected.to eq(bank_code) }
712
- its(:account_number) { is_expected.to eq("__________0123456") }
712
+ its(:account_number) { is_expected.to eq("0123456") }
713
713
  its(:swift_bank_code) { is_expected.to eq(bank_code) }
714
714
  its(:swift_branch_code) { is_expected.to eq(nil) }
715
- its(:swift_account_number) { is_expected.to eq("__________0123456") }
715
+ its(:swift_account_number) { is_expected.to eq("0123456") }
716
716
  its(:swift_national_id) { is_expected.to eq(bank_code) }
717
717
 
718
718
  its(:pseudo_iban) do
@@ -95,7 +95,7 @@ describe Ibandit::LocalDetailsCleaner do
95
95
  let(:branch_code) { "123-456" }
96
96
 
97
97
  its([:country_code]) { is_expected.to eq(country_code) }
98
- its([:account_number]) { is_expected.to eq("0123456789") }
98
+ its([:account_number]) { is_expected.to eq("123456789") }
99
99
  its([:branch_code]) { is_expected.to eq("123456") }
100
100
  end
101
101
 
@@ -103,7 +103,7 @@ describe Ibandit::LocalDetailsCleaner do
103
103
  let(:branch_code) { "123456" }
104
104
 
105
105
  its([:country_code]) { is_expected.to eq(country_code) }
106
- its([:account_number]) { is_expected.to eq("0123456789") }
106
+ its([:account_number]) { is_expected.to eq("123456789") }
107
107
  its([:branch_code]) { is_expected.to eq("123456") }
108
108
  end
109
109
  end
@@ -163,7 +163,7 @@ describe Ibandit::LocalDetailsCleaner do
163
163
  let(:bank_code) { "0036" }
164
164
  let(:branch_code) { "00063" }
165
165
 
166
- its([:account_number]) { is_expected.to eq("000000123456") }
166
+ its([:account_number]) { is_expected.to eq("0123456") }
167
167
  its([:country_code]) { is_expected.to eq(country_code) }
168
168
  its([:bank_code]) { is_expected.to eq("0036") }
169
169
  its([:branch_code]) { is_expected.to eq("00063") }
@@ -171,7 +171,7 @@ describe Ibandit::LocalDetailsCleaner do
171
171
  context "with a hyphen" do
172
172
  let(:account_number) { "0123456-789" }
173
173
 
174
- its([:account_number]) { is_expected.to eq("000123456789") }
174
+ its([:account_number]) { is_expected.to eq("0123456789") }
175
175
  end
176
176
  end
177
177
 
@@ -1311,7 +1311,7 @@ describe Ibandit::LocalDetailsCleaner do
1311
1311
  let(:account_number) { "0123456789" }
1312
1312
 
1313
1313
  its([:bank_code]) { is_expected.to eq(bank_code) }
1314
- its([:account_number]) { is_expected.to eq("_______0123456789") }
1314
+ its([:account_number]) { is_expected.to eq("0123456789") }
1315
1315
  end
1316
1316
  end
1317
1317
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ibandit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GoCardless
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-03 00:00:00.000000000 Z
11
+ date: 2021-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gc_ruboconfig
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.24.0
19
+ version: 2.26.0
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: 2.24.0
26
+ version: 2.26.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: nokogiri
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,28 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.10'
47
+ version: '0.13'
48
48
  type: :development
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: '0.10'
54
+ version: '0.13'
55
55
  - !ruby/object:Gem::Dependency
56
- name: pry-nav
56
+ name: pry-byebug
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0.2'
61
+ version: '3.9'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0.2'
68
+ version: '3.9'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -146,6 +146,7 @@ extensions: []
146
146
  extra_rdoc_files: []
147
147
  files:
148
148
  - ".circleci/config.yml"
149
+ - ".github/dependabot.yml"
149
150
  - ".gitignore"
150
151
  - ".rubocop.yml"
151
152
  - ".rubocop_todo.yml"
@@ -225,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
225
226
  - !ruby/object:Gem::Version
226
227
  version: '0'
227
228
  requirements: []
228
- rubygems_version: 3.2.3
229
+ rubygems_version: 3.2.15
229
230
  signing_key:
230
231
  specification_version: 4
231
232
  summary: Convert national banking details into IBANs, and vice-versa.