ibandit 0.8.8 → 0.9.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/ibandit/iban.rb +11 -11
- data/lib/ibandit/version.rb +1 -1
- data/spec/ibandit/iban_spec.rb +40 -34
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a8c359511af493cf0c67d92be073707e7e89aafa
|
4
|
+
data.tar.gz: 086f4eb19008f7deafe3112d7902e684adc41a0c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 42bbedef82e946bf3e563949d9f30a387704b848a0043de9b8d6cb37347ce136895167ac8dc1f40da129ec3e47995b17964c2c35d30855847307d8b5abeb3e84
|
7
|
+
data.tar.gz: 24f02a0e80d6bb64361741a465b3da217839d9fa695634d481ad7b98649a6573b9048b1251aba74e5d679a97810bc9543633a367242047e8341e52e5bd36d3ce
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
## 0.9.0 - January 25, 2016
|
2
|
+
|
3
|
+
- BREAKING CHANGE: Update modulus checker hooks to expect a `valid_branch_code?`
|
4
|
+
method. See https://github.com/gocardless/ibandit/pull/65 for more details.
|
5
|
+
|
1
6
|
## 0.8.8 - January 22, 2016
|
2
7
|
|
3
8
|
- Strip whitespace from Spanish account numbers
|
data/lib/ibandit/iban.rb
CHANGED
@@ -243,7 +243,9 @@ module Ibandit
|
|
243
243
|
return unless valid_format?
|
244
244
|
return true unless Ibandit.modulus_checker
|
245
245
|
|
246
|
-
valid_modulus_check_bank_code? &&
|
246
|
+
valid_modulus_check_bank_code? &&
|
247
|
+
valid_modulus_check_branch_code? &&
|
248
|
+
valid_modulus_check_account_number?
|
247
249
|
end
|
248
250
|
|
249
251
|
def passes_country_specific_checks?
|
@@ -385,7 +387,14 @@ module Ibandit
|
|
385
387
|
def valid_modulus_check_bank_code?
|
386
388
|
return true if Ibandit.modulus_checker.valid_bank_code?(iban.to_s)
|
387
389
|
|
388
|
-
@errors[
|
390
|
+
@errors[:bank_code] = Ibandit.translate(:is_invalid)
|
391
|
+
false
|
392
|
+
end
|
393
|
+
|
394
|
+
def valid_modulus_check_branch_code?
|
395
|
+
return true if Ibandit.modulus_checker.valid_branch_code?(iban.to_s)
|
396
|
+
|
397
|
+
@errors[:branch_code] = Ibandit.translate(:is_invalid)
|
389
398
|
false
|
390
399
|
end
|
391
400
|
|
@@ -396,15 +405,6 @@ module Ibandit
|
|
396
405
|
false
|
397
406
|
end
|
398
407
|
|
399
|
-
def modulus_check_bank_code_field
|
400
|
-
if LocalDetailsCleaner.required_fields(country_code).
|
401
|
-
include?(:branch_code)
|
402
|
-
:branch_code
|
403
|
-
else
|
404
|
-
:bank_code
|
405
|
-
end
|
406
|
-
end
|
407
|
-
|
408
408
|
def swift_details
|
409
409
|
{
|
410
410
|
country_code: @country_code,
|
data/lib/ibandit/version.rb
CHANGED
data/spec/ibandit/iban_spec.rb
CHANGED
@@ -1137,6 +1137,7 @@ describe Ibandit::IBAN do
|
|
1137
1137
|
before do
|
1138
1138
|
Ibandit.modulus_checker = double(
|
1139
1139
|
valid_bank_code?: valid_bank_code,
|
1140
|
+
valid_branch_code?: valid_branch_code,
|
1140
1141
|
valid_account_number?: valid_account_number)
|
1141
1142
|
end
|
1142
1143
|
after { Ibandit.modulus_checker = nil }
|
@@ -1145,6 +1146,7 @@ describe Ibandit::IBAN do
|
|
1145
1146
|
context 'with an invalid bank code' do
|
1146
1147
|
let(:iban_code) { 'AT611904300234573201' }
|
1147
1148
|
let(:valid_bank_code) { false }
|
1149
|
+
let(:valid_branch_code) { true }
|
1148
1150
|
let(:valid_account_number) { true }
|
1149
1151
|
|
1150
1152
|
it { is_expected.to be(false) }
|
@@ -1177,60 +1179,64 @@ describe Ibandit::IBAN do
|
|
1177
1179
|
context 'locale nl', locale: :nl do
|
1178
1180
|
specify { expect(iban.errors).to include(bank_code: 'is ongeldig') }
|
1179
1181
|
end
|
1182
|
+
end
|
1180
1183
|
|
1181
|
-
|
1182
|
-
|
1183
|
-
|
1184
|
-
|
1185
|
-
|
1184
|
+
context 'with an invalid branch code' do
|
1185
|
+
let(:iban_code) { 'GB60BARC20000055779911' }
|
1186
|
+
before { Ibandit.bic_finder = double(call: 'BARCGB22XXX') }
|
1187
|
+
after { Ibandit.bic_finder = nil }
|
1188
|
+
before { iban.valid_local_modulus_check? }
|
1189
|
+
let(:valid_bank_code) { true }
|
1190
|
+
let(:valid_branch_code) { false }
|
1191
|
+
let(:valid_account_number) { true }
|
1186
1192
|
|
1187
|
-
|
1188
|
-
|
1189
|
-
|
1190
|
-
|
1191
|
-
end
|
1193
|
+
it { is_expected.to be(false) }
|
1194
|
+
context 'locale en', locale: :en do
|
1195
|
+
specify do
|
1196
|
+
expect(iban.errors).to include(branch_code: 'is invalid')
|
1192
1197
|
end
|
1198
|
+
end
|
1193
1199
|
|
1194
|
-
|
1195
|
-
|
1196
|
-
|
1197
|
-
end
|
1200
|
+
context 'locale fr', locale: :fr do
|
1201
|
+
specify do
|
1202
|
+
expect(iban.errors).to include(branch_code: 'est invalide')
|
1198
1203
|
end
|
1204
|
+
end
|
1199
1205
|
|
1200
|
-
|
1201
|
-
|
1202
|
-
|
1203
|
-
end
|
1206
|
+
context 'locale de', locale: :de do
|
1207
|
+
specify do
|
1208
|
+
expect(iban.errors).to include(branch_code: 'ist nicht gültig')
|
1204
1209
|
end
|
1210
|
+
end
|
1205
1211
|
|
1206
|
-
|
1207
|
-
|
1208
|
-
|
1209
|
-
end
|
1212
|
+
context 'locale pt', locale: :pt do
|
1213
|
+
specify do
|
1214
|
+
expect(iban.errors).to include(branch_code: 'é inválido')
|
1210
1215
|
end
|
1216
|
+
end
|
1211
1217
|
|
1212
|
-
|
1213
|
-
|
1214
|
-
|
1215
|
-
end
|
1218
|
+
context 'locale es', locale: :es do
|
1219
|
+
specify do
|
1220
|
+
expect(iban.errors).to include(branch_code: 'es inválido')
|
1216
1221
|
end
|
1222
|
+
end
|
1217
1223
|
|
1218
|
-
|
1219
|
-
|
1220
|
-
|
1221
|
-
end
|
1224
|
+
context 'locale it', locale: :it do
|
1225
|
+
specify do
|
1226
|
+
expect(iban.errors).to include(branch_code: 'non è valido')
|
1222
1227
|
end
|
1228
|
+
end
|
1223
1229
|
|
1224
|
-
|
1225
|
-
|
1226
|
-
|
1227
|
-
end
|
1230
|
+
context 'locale nl', locale: :nl do
|
1231
|
+
specify do
|
1232
|
+
expect(iban.errors).to include(branch_code: 'is ongeldig')
|
1228
1233
|
end
|
1229
1234
|
end
|
1230
1235
|
end
|
1231
1236
|
|
1232
1237
|
context 'with an invalid account number' do
|
1233
1238
|
let(:valid_bank_code) { true }
|
1239
|
+
let(:valid_branch_code) { true }
|
1234
1240
|
let(:valid_account_number) { false }
|
1235
1241
|
|
1236
1242
|
it { is_expected.to be(false) }
|
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.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Grey Baker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01-
|
11
|
+
date: 2016-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|