ibandit 0.11.23 → 0.11.24
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/CHANGELOG.md +4 -0
- data/README.md +1 -1
- data/lib/ibandit/local_details_cleaner.rb +10 -1
- data/lib/ibandit/version.rb +1 -1
- data/spec/ibandit/iban_spec.rb +41 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 668b1fb51b7cf069a3571031168991cdb97f0ea2
|
4
|
+
data.tar.gz: 4bfe3207906007a781617a7dbff3bbbe6bb82f25
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb3d8b5054d45f508f88a686040dfc51a8a3e4bd1971fe54300c31015cc5cd34ed81a8788740574f703d59738651b49f1852db0156bd22d35c4c8afdd6f19a5c
|
7
|
+
data.tar.gz: fe66a3af2e980f0f40d09e4db3b99391cfa3442cd23ce14a31e780b9d6a1ee0bcbc3e0c05f112d387b820b03fb7fe4dffedc6360eca2273832d881503fd8b466
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -523,7 +523,7 @@ iban.iban # => nil
|
|
523
523
|
# Canada
|
524
524
|
iban = Ibandit::IBAN.new(
|
525
525
|
country_code: 'CA',
|
526
|
-
bank_code: '0036', # 4 Financial Institution number
|
526
|
+
bank_code: '0036', # 3 or 4 digit Financial Institution number
|
527
527
|
branch_code: '00063', # 5 digit Branch Transit number
|
528
528
|
account_number: '0123456' # 7 to 12 digits
|
529
529
|
)
|
@@ -87,7 +87,16 @@ module Ibandit
|
|
87
87
|
def self.clean_ca_details(local_details)
|
88
88
|
return {} if local_details[:account_number].length < 7 # minimum length
|
89
89
|
|
90
|
-
|
90
|
+
bank_code = if local_details[:bank_code].length == 3
|
91
|
+
local_details[:bank_code].rjust(4, "0")
|
92
|
+
else
|
93
|
+
local_details[:bank_code]
|
94
|
+
end
|
95
|
+
|
96
|
+
{
|
97
|
+
account_number: local_details[:account_number].rjust(12, "0"),
|
98
|
+
bank_code: bank_code,
|
99
|
+
}
|
91
100
|
end
|
92
101
|
|
93
102
|
def self.clean_bg_details(local_details)
|
data/lib/ibandit/version.rb
CHANGED
data/spec/ibandit/iban_spec.rb
CHANGED
@@ -362,14 +362,53 @@ describe Ibandit::IBAN do
|
|
362
362
|
let(:arg) do
|
363
363
|
{
|
364
364
|
country_code: "CA",
|
365
|
-
bank_code:
|
365
|
+
bank_code: bank_code,
|
366
366
|
branch_code: "00063",
|
367
367
|
account_number: account_number,
|
368
368
|
}
|
369
369
|
end
|
370
370
|
|
371
|
+
context "and a 3 digit bank code" do
|
372
|
+
let(:account_number) { "0123456" }
|
373
|
+
let(:bank_code) { "036" }
|
374
|
+
|
375
|
+
its(:country_code) { is_expected.to eq("CA") }
|
376
|
+
its(:bank_code) { is_expected.to eq("0036") }
|
377
|
+
its(:branch_code) { is_expected.to eq("00063") }
|
378
|
+
its(:account_number) { is_expected.to eq("000000123456") }
|
379
|
+
its(:swift_bank_code) { is_expected.to eq("0036") }
|
380
|
+
its(:swift_branch_code) { is_expected.to eq("00063") }
|
381
|
+
its(:swift_account_number) { is_expected.to eq("000000123456") }
|
382
|
+
its(:swift_national_id) { is_expected.to eq("0036") }
|
383
|
+
its(:pseudo_iban) { is_expected.to eq("CAZZ003600063000000123456") }
|
384
|
+
|
385
|
+
its(:iban) { is_expected.to be_nil }
|
386
|
+
its(:valid?) { is_expected.to eq(true) }
|
387
|
+
its(:to_s) { is_expected.to eq("") }
|
388
|
+
end
|
389
|
+
|
390
|
+
context "and a 2 digit bank code" do
|
391
|
+
let(:account_number) { "0123456" }
|
392
|
+
let(:bank_code) { "36" }
|
393
|
+
|
394
|
+
its(:country_code) { is_expected.to eq("CA") }
|
395
|
+
its(:bank_code) { is_expected.to eq("36") }
|
396
|
+
its(:branch_code) { is_expected.to eq("00063") }
|
397
|
+
its(:account_number) { is_expected.to eq("000000123456") }
|
398
|
+
its(:swift_bank_code) { is_expected.to eq("36") }
|
399
|
+
its(:swift_branch_code) { is_expected.to eq("00063") }
|
400
|
+
its(:swift_account_number) { is_expected.to eq("000000123456") }
|
401
|
+
its(:swift_national_id) { is_expected.to eq("3600") }
|
402
|
+
its(:pseudo_iban) { is_expected.to eq("CAZZ__3600063000000123456") }
|
403
|
+
|
404
|
+
its(:iban) { is_expected.to be_nil }
|
405
|
+
its(:valid?) { is_expected.to eq(false) }
|
406
|
+
its(:to_s) { is_expected.to eq("") }
|
407
|
+
end
|
408
|
+
|
371
409
|
context "and a 7 digit account number" do
|
372
410
|
let(:account_number) { "0123456" }
|
411
|
+
let(:bank_code) { "0036" }
|
373
412
|
|
374
413
|
its(:country_code) { is_expected.to eq("CA") }
|
375
414
|
its(:bank_code) { is_expected.to eq("0036") }
|
@@ -388,6 +427,7 @@ describe Ibandit::IBAN do
|
|
388
427
|
|
389
428
|
context "and a 12 digit account number" do
|
390
429
|
let(:account_number) { "012345678900" }
|
430
|
+
let(:bank_code) { "0036" }
|
391
431
|
|
392
432
|
its(:country_code) { is_expected.to eq("CA") }
|
393
433
|
its(:bank_code) { is_expected.to eq("0036") }
|
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: 0.11.
|
4
|
+
version: 0.11.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GoCardless
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-12-
|
11
|
+
date: 2018-12-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -210,7 +210,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
210
210
|
version: '0'
|
211
211
|
requirements: []
|
212
212
|
rubyforge_project:
|
213
|
-
rubygems_version: 2.
|
213
|
+
rubygems_version: 2.5.2.3
|
214
214
|
signing_key:
|
215
215
|
specification_version: 4
|
216
216
|
summary: Convert national banking details into IBANs, and vice-versa.
|