ibandit 0.11.28 → 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 31afcc0a061c33a69c2fdf4dc857603ebb91fd7c
4
- data.tar.gz: 7f692e0706dc2410613e2e246349f95d9c6f938e
2
+ SHA256:
3
+ metadata.gz: 13ca505f43dfd880ea0de62afe35c6b6a18c5036b523f7656b0cc36983af4a06
4
+ data.tar.gz: 913d870c4c191e184189c3872bbbdef83abe3f5074670856ef8eb2d4166988cc
5
5
  SHA512:
6
- metadata.gz: 3f41f600cbd7a54a809ebdb8d9f4b3976aa23cdace895d03f4184585ebfe615bbfd9c12920df48d438e1d0ad8c15e52ba434e1d8a3803ca588e71e573ae8ae01
7
- data.tar.gz: 0d269f41269d38e134b54e83a5c559fd75e5fabbd0d86fd8b461cb6f7eab7418fbe7a2af2f662b3c0dc30f83a293c312966f9e52529761557791bbc495a3e316
6
+ metadata.gz: 429b3a3de4af3d7b1a7620e7be46594f354e963bfedda97fcfb87ee983d17ae3cf87bcd7ae3891080e90392917b7c33955c0442efe38ab7404fd09484e55d1e9
7
+ data.tar.gz: ac9ff959b43a974efc436dbe809784e33c6e68c8065421b9a5a194b5bf24a5e64fd469cc79223c36d70f2f8bd43a12d8af82f3fe1ec0c2ff32ce9b5d02c4261b
@@ -1,9 +1,9 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
  inherit_gem:
3
- ruboconfig: rubocop.yml
3
+ gc_ruboconfig: rubocop.yml
4
4
 
5
5
  AllCops:
6
- TargetRubyVersion: 2.1
6
+ TargetRubyVersion: 2.4
7
7
 
8
8
  # Limit lines to 80 characters.
9
9
  LineLength:
@@ -21,9 +21,6 @@ SingleLineMethods:
21
21
  NumericLiterals:
22
22
  Enabled: false
23
23
 
24
- Performance/RegexpMatch:
25
- Enabled: false
26
-
27
24
  # Wants you to use the same argument names for every reduce. This seems kinda
28
25
  # naff compared to naming them semantically
29
26
  SingleLineBlockParams:
@@ -1,27 +1,82 @@
1
- # This configuration was generated by `rubocop --auto-gen-config`
2
- # on 2014-12-08 13:56:37 +0000 using RuboCop version 0.27.1.
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2019-05-30 14:34:05 +0100 using RuboCop version 0.70.0.
3
4
  # The point is for the user to remove these configuration records
4
5
  # one by one as the offenses are removed from the code base.
5
6
  # Note that changes in the inspected code, or installation of new
6
7
  # versions of RuboCop, may require this file to be generated again.
7
8
 
8
- # Offense count: 4
9
+ # Offense count: 10
9
10
  Metrics/AbcSize:
10
- Max: 28
11
+ Max: 25
12
+
13
+ # Offense count: 4
14
+ Metrics/CyclomaticComplexity:
15
+ Max: 8
11
16
 
12
17
  # Offense count: 1
13
- # Configuration parameters: CountComments.
14
- Metrics/ClassLength:
15
- Max: 110
18
+ # Configuration parameters: EnforcedStyleForLeadingUnderscores.
19
+ # SupportedStylesForLeadingUnderscores: disallowed, required, optional
20
+ Naming/MemoizedInstanceVariableName:
21
+ Exclude:
22
+ - 'lib/ibandit/sweden/bank_lookup.rb'
16
23
 
17
24
  # Offense count: 1
18
- Metrics/CyclomaticComplexity:
19
- Max: 10
25
+ # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
26
+ # AllowedNames: io, id, to, by, on, in, at, ip, db
27
+ Naming/UncommunicativeMethodParamName:
28
+ Exclude:
29
+ - 'lib/ibandit/german_details_converter.rb'
20
30
 
21
- # Offense count: 4
22
- Style/Documentation:
23
- Enabled: false
31
+ # Offense count: 1
32
+ RSpec/DescribeClass:
33
+ Exclude:
34
+ - 'spec/ibandit/structure_spec.rb'
24
35
 
25
- # Offense count: 4
26
- Style/NumericPredicate:
27
- Enabled: false
36
+ # Offense count: 1
37
+ # Configuration parameters: Max.
38
+ RSpec/ExampleLength:
39
+ Exclude:
40
+ - 'spec/ibandit/iban_spec.rb'
41
+
42
+ # Offense count: 1
43
+ RSpec/ExpectInHook:
44
+ Exclude:
45
+ - 'spec/ibandit/german_details_converter_spec.rb'
46
+
47
+ # Offense count: 12
48
+ # Configuration parameters: AggregateFailuresByDefault.
49
+ RSpec/MultipleExpectations:
50
+ Max: 2
51
+
52
+ # Offense count: 20
53
+ # Configuration parameters: IgnoreSharedExamples.
54
+ RSpec/NamedSubject:
55
+ Exclude:
56
+ - 'spec/ibandit/iban_spec.rb'
57
+
58
+ # Offense count: 367
59
+ RSpec/NestedGroups:
60
+ Max: 6
61
+
62
+ # Offense count: 3
63
+ RSpec/ScatteredLet:
64
+ Exclude:
65
+ - 'spec/ibandit/iban_spec.rb'
66
+
67
+ # Offense count: 18
68
+ RSpec/ScatteredSetup:
69
+ Exclude:
70
+ - 'spec/ibandit/iban_assembler_spec.rb'
71
+ - 'spec/ibandit/iban_spec.rb'
72
+
73
+ # Offense count: 13
74
+ RSpec/SubjectStub:
75
+ Exclude:
76
+ - 'spec/ibandit/iban_spec.rb'
77
+
78
+ # Offense count: 5
79
+ # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
80
+ RSpec/VerifiedDoubles:
81
+ Exclude:
82
+ - 'spec/ibandit/iban_spec.rb'
@@ -4,10 +4,10 @@ matrix:
4
4
  allow_failures:
5
5
 
6
6
  rvm:
7
- - 2.1.10
8
- - 2.2.7
9
- - 2.3.4
10
- - 2.4.1
7
+ - 2.4
8
+ - 2.5
9
+ - 2.6
10
+
11
11
 
12
12
  sudo: false
13
13
 
@@ -1,3 +1,10 @@
1
+ ## 1.0.0 - October 24, 2019
2
+
3
+ - Discontinued support for older Ruby versions (2.1.10, 2.2.7, 2.3.4 and 2.4.1)
4
+ - Update rubocop and ruboconfig
5
+ - Updates the example bank details for the United States
6
+ - Updates the definition of the structure for IBANs in Costa Rica (courtesy @sprileyMSTS)
7
+
1
8
  ## 0.11.28 - March 21, 2019
2
9
 
3
10
  - Handle bad input more gracefully (`bank_code` being nil)
data/Gemfile CHANGED
@@ -5,7 +5,5 @@ source 'https://rubygems.org'
5
5
  gemspec
6
6
 
7
7
  group :development do
8
- gem "ruboconfig",
9
- git: "https://github.com/gocardless/ruboconfig.git",
10
- tag: "v1.2.0"
8
+ gem "gc_ruboconfig"
11
9
  end
data/README.md CHANGED
@@ -566,16 +566,16 @@ iban.account_number # => "3333333044"
566
566
  # USA
567
567
  iban = Ibandit::IBAN.new(
568
568
  country_code: 'US',
569
- bank_code: '965498456', # 9-digit routing number
570
- account_number: '0123456789' # 1 to 17 digits
569
+ bank_code: '026073150', # 9-digit routing number
570
+ account_number: '2715500356' # 1 to 17 digits
571
571
  )
572
- iban.pseudo_iban # => "USZZ965498456_______0123456789"
572
+ iban.pseudo_iban # => "USZZ026073150_______2715500356"
573
573
  iban.iban # => nil
574
574
 
575
- iban = Ibandit::IBAN.new('USZZ965498456_______0123456789')
575
+ iban = Ibandit::IBAN.new('USZZ026073150_______2715500356')
576
576
  iban.country_code # => "US"
577
- iban.bank_code # => "965498456"
578
- iban.account_number # => "_______0123456789"
577
+ iban.bank_code # => "026073150"
578
+ iban.account_number # => "_______2715500356"
579
579
  iban.iban # => nil
580
580
  ```
581
581
 
@@ -149,15 +149,15 @@ CH:
149
149
  :bank_code_format: "\\d{5}"
150
150
  :account_number_format: "[A-Z0-9]{12}"
151
151
  CR:
152
- :bank_code_position: 5
152
+ :bank_code_position: 6
153
153
  :bank_code_length: 3
154
154
  :branch_code_position: 0
155
155
  :branch_code_length: 0
156
- :account_number_position: 8
156
+ :account_number_position: 9
157
157
  :account_number_length: 14
158
- :total_length: 21
158
+ :total_length: 22
159
159
  :national_id_length: 3
160
- :bban_format: "\\d{3}\\d{14}"
160
+ :bban_format: "0\\d{3}\\d{14}"
161
161
  :bank_code_format: "\\d{3}"
162
162
  :account_number_format: "\\d{14}"
163
163
  CY:
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require File.expand_path("../lib/ibandit/version", __FILE__)
3
+ require File.expand_path("lib/ibandit/version", __dir__)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
6
  gem.add_development_dependency "nokogiri", "~> 1.6"
@@ -8,7 +8,7 @@ Gem::Specification.new do |gem|
8
8
  gem.add_development_dependency "pry-nav", "~> 0.2"
9
9
  gem.add_development_dependency "rspec", "~> 3.3"
10
10
  gem.add_development_dependency "rspec-its", "~> 1.2"
11
- gem.add_development_dependency "rubocop", "~> 0.52.0"
11
+ gem.add_development_dependency "rubocop", "~> 0.70.0"
12
12
  gem.add_development_dependency "sax-machine", "~> 1.3"
13
13
 
14
14
  gem.add_runtime_dependency "i18n"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "i18n"
2
4
  require "ibandit/version"
3
5
  require "ibandit/errors"
@@ -14,8 +16,8 @@ require "ibandit/pseudo_iban_splitter"
14
16
  require "ibandit/local_details_cleaner"
15
17
  require "ibandit/check_digit"
16
18
 
17
- I18n.load_path += Dir[File.expand_path("../../config/locales/*.{rb,yml}",
18
- __FILE__)]
19
+ I18n.load_path += Dir[File.expand_path("../config/locales/*.{rb,yml}",
20
+ __dir__)]
19
21
 
20
22
  module Ibandit
21
23
  class << self
@@ -23,12 +25,13 @@ module Ibandit
23
25
 
24
26
  def find_bic(country_code, national_id)
25
27
  raise NotImplementedError, "BIC finder is not defined" unless @bic_finder
28
+
26
29
  @bic_finder.call(country_code, national_id)
27
30
  end
28
31
 
29
32
  def structures
30
33
  @structures ||= YAML.load_file(
31
- File.expand_path("../../data/structures.yml", __FILE__),
34
+ File.expand_path("../data/structures.yml", __dir__),
32
35
  )
33
36
  end
34
37
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Ibandit
2
4
  module CheckDigit
3
5
  ITALIAN_ODD_MAPPING = {
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Ibandit
2
4
  module Constants
3
5
  CONSTRUCTABLE_IBAN_COUNTRY_CODES = %w[AT BE BG CY CZ DE DK EE ES FI FR GB GR
@@ -8,7 +10,7 @@ module Ibandit
8
10
  DECONSTRUCTABLE_IBAN_COUNTRY_CODES =
9
11
  CONSTRUCTABLE_IBAN_COUNTRY_CODES - PSEUDO_IBAN_COUNTRY_CODES
10
12
 
11
- PSEUDO_IBAN_CHECK_DIGITS = "ZZ".freeze
13
+ PSEUDO_IBAN_CHECK_DIGITS = "ZZ"
12
14
 
13
15
  PSEUDO_IBAN_PADDING_CHARACTER_FOR = {
14
16
  "SE" => "X", # Using X for backwards compatibility
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Ibandit
2
4
  class InvalidCharacterError < StandardError; end
3
5
  class UnsupportedAccountDetails < StandardError; end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # German bank details don't map directly to IBANs in the same way as in other
2
4
  # countries - each bank has idiosyncracies for translating its cusomers' bank
3
5
  # details. These idiosyncracies are described in a document from the Bundesbank:
@@ -7,7 +9,7 @@ module Ibandit
7
9
  module GermanDetailsConverter
8
10
  def self.rules
9
11
  @rules ||= YAML.load_file(
10
- File.expand_path("../../../data/german_iban_rules.yml", __FILE__),
12
+ File.expand_path("../../data/german_iban_rules.yml", __dir__),
11
13
  )
12
14
  end
13
15
 
@@ -290,6 +292,7 @@ module Ibandit
290
292
 
291
293
  def valid?
292
294
  return false unless valid_length? && valid_account_type?
295
+
293
296
  [master_number[-1].to_i, 10].include?(remainder)
294
297
  end
295
298
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "yaml"
2
4
 
3
5
  module Ibandit
@@ -155,7 +157,7 @@ module Ibandit
155
157
 
156
158
  def valid_bank_code_length?
157
159
  return unless valid_country_code?
158
- return true if structure[:bank_code_length] == 0
160
+ return true if structure[:bank_code_length]&.zero?
159
161
 
160
162
  if swift_bank_code.nil? || swift_bank_code.empty?
161
163
  @errors[:bank_code] = Ibandit.translate(:is_required)
@@ -175,7 +177,7 @@ module Ibandit
175
177
  return true
176
178
  end
177
179
 
178
- if structure[:branch_code_length] == 0
180
+ if structure[:branch_code_length]&.zero?
179
181
  @errors[:branch_code] = Ibandit.translate(:not_used_in_country,
180
182
  country_code: country_code)
181
183
  elsif swift_branch_code.nil? || swift_branch_code.empty?
@@ -208,6 +210,7 @@ module Ibandit
208
210
 
209
211
  def valid_characters?
210
212
  return if iban.nil?
213
+
211
214
  if iban.scan(/[^A-Z0-9]/).any?
212
215
  @errors[:characters] =
213
216
  Ibandit.translate(:non_alphanumeric_characters,
@@ -233,7 +236,7 @@ module Ibandit
233
236
 
234
237
  def valid_bank_code_format?
235
238
  return unless valid_bank_code_length?
236
- return true if structure[:bank_code_length] == 0
239
+ return true if structure[:bank_code_length]&.zero?
237
240
 
238
241
  if swift_bank_code =~ Regexp.new(structure[:bank_code_format])
239
242
  true
@@ -477,7 +480,7 @@ module Ibandit
477
480
  @swift_account_number = swift_details[:account_number]
478
481
 
479
482
  return if Constants::PSEUDO_IBAN_COUNTRY_CODES.
480
- include?(@country_code)
483
+ include?(@country_code)
481
484
 
482
485
  @bank_code = swift_details[:bank_code]
483
486
  @branch_code = swift_details[:branch_code]
@@ -530,6 +533,7 @@ module Ibandit
530
533
 
531
534
  def pseudo_iban?(input)
532
535
  return false if input.nil?
536
+
533
537
  input.slice(2, 2) == Constants::PSEUDO_IBAN_CHECK_DIGITS
534
538
  end
535
539
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Ibandit
2
4
  module IBANAssembler
3
5
  EXCEPTION_COUNTRY_CODES = %w[IT SM BE].freeze
@@ -1,11 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Ibandit
2
4
  module IBANSplitter
3
5
  def self.split(iban)
4
6
  {
5
- country_code: country_code_from(iban),
6
- check_digits: check_digits_from(iban),
7
- bank_code: bank_code_from(iban),
8
- branch_code: branch_code_from(iban),
7
+ country_code: country_code_from(iban),
8
+ check_digits: check_digits_from(iban),
9
+ bank_code: bank_code_from(iban),
10
+ branch_code: branch_code_from(iban),
9
11
  account_number: account_number_from(iban),
10
12
  }
11
13
  end
@@ -36,9 +38,8 @@ module Ibandit
36
38
  end
37
39
 
38
40
  def self.branch_code_from(iban)
39
- unless decomposable?(iban) && structure(iban)[:branch_code_length] > 0
40
- return
41
- end
41
+ return unless decomposable?(iban) &&
42
+ structure(iban)[:branch_code_length]&.positive?
42
43
 
43
44
  iban.slice(
44
45
  structure(iban)[:branch_code_position] - 1,
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Ibandit
2
4
  module LocalDetailsCleaner
3
5
  def self.clean(local_details)
@@ -57,8 +59,9 @@ module Ibandit
57
59
  # Account number may be 4-11 digits long.
58
60
  # Add leading zeros to account number if < 11 digits.
59
61
  return {} unless local_details[:account_number].length >= 4
62
+
60
63
  {
61
- bank_code: local_details[:bank_code],
64
+ bank_code: local_details[:bank_code],
62
65
  account_number: local_details[:account_number].rjust(11, "0"),
63
66
  }
64
67
  end
@@ -71,7 +74,7 @@ module Ibandit
71
74
  return {} unless local_details[:account_number].length >= 5
72
75
 
73
76
  {
74
- branch_code: local_details[:branch_code].delete("-"),
77
+ branch_code: local_details[:branch_code].delete("-"),
75
78
  account_number: local_details[:account_number].rjust(10, "0"),
76
79
  }
77
80
  end
@@ -80,7 +83,7 @@ module Ibandit
80
83
  account_number = local_details[:account_number].tr("-", "")
81
84
 
82
85
  {
83
- bank_code: local_details[:bank_code] || account_number.slice(0, 3),
86
+ bank_code: local_details[:bank_code] || account_number.slice(0, 3),
84
87
  account_number: account_number,
85
88
  }
86
89
  end
@@ -137,8 +140,8 @@ module Ibandit
137
140
  end
138
141
 
139
142
  {
140
- bank_code: bank_code,
141
- branch_code: branch_code,
143
+ bank_code: bank_code,
144
+ branch_code: branch_code,
142
145
  account_number: account_number,
143
146
  }
144
147
  end
@@ -158,7 +161,7 @@ module Ibandit
158
161
  end
159
162
 
160
163
  {
161
- bank_code: local_details[:bank_code],
164
+ bank_code: local_details[:bank_code],
162
165
  account_number: account_number,
163
166
  }
164
167
  end
@@ -180,7 +183,7 @@ module Ibandit
180
183
  return {} unless converted_details[:account_number].length >= 4
181
184
 
182
185
  {
183
- bank_code: converted_details[:bank_code],
186
+ bank_code: converted_details[:bank_code],
184
187
  account_number: converted_details[:account_number].rjust(10, "0"),
185
188
  }
186
189
  end
@@ -202,7 +205,7 @@ module Ibandit
202
205
  end
203
206
 
204
207
  {
205
- bank_code: bank_code.rjust(4, "0"),
208
+ bank_code: bank_code.rjust(4, "0"),
206
209
  account_number: account_number.delete("-").rjust(10, "0"),
207
210
  }
208
211
  end
@@ -246,8 +249,8 @@ module Ibandit
246
249
  end
247
250
 
248
251
  {
249
- bank_code: bank_code,
250
- branch_code: branch_code,
252
+ bank_code: bank_code,
253
+ branch_code: branch_code,
251
254
  account_number: account_number,
252
255
  }
253
256
  end
@@ -267,15 +270,15 @@ module Ibandit
267
270
  end
268
271
 
269
272
  {
270
- bank_code: local_details[:bank_code],
273
+ bank_code: local_details[:bank_code],
271
274
  account_number: account_number,
272
275
  }
273
276
  end
274
277
 
275
278
  def self.clean_fr_details(local_details)
276
279
  {
277
- bank_code: local_details[:bank_code],
278
- branch_code: local_details[:branch_code],
280
+ bank_code: local_details[:bank_code],
281
+ branch_code: local_details[:branch_code],
279
282
  account_number: local_details[:account_number].gsub(/[-\s]/, ""),
280
283
  }
281
284
  end
@@ -296,8 +299,8 @@ module Ibandit
296
299
  account_number = account_number.rjust(8, "0") if account_number.length > 5
297
300
 
298
301
  {
299
- bank_code: bank_code,
300
- branch_code: branch_code,
302
+ bank_code: bank_code,
303
+ branch_code: branch_code,
301
304
  account_number: account_number,
302
305
  }
303
306
  end
@@ -317,7 +320,7 @@ module Ibandit
317
320
  bank_code, account_number = local_details[:account_number].split("-", 2)
318
321
 
319
322
  {
320
- bank_code: bank_code,
323
+ bank_code: bank_code,
321
324
  account_number: account_number,
322
325
  }
323
326
  end
@@ -334,14 +337,14 @@ module Ibandit
334
337
  case cleaned_acct_number.length
335
338
  when 16
336
339
  {
337
- bank_code: cleaned_acct_number.slice(0, 3),
338
- branch_code: cleaned_acct_number.slice(3, 4),
340
+ bank_code: cleaned_acct_number.slice(0, 3),
341
+ branch_code: cleaned_acct_number.slice(3, 4),
339
342
  account_number: cleaned_acct_number.slice(7, 9).ljust(17, "0"),
340
343
  }
341
344
  when 24
342
345
  {
343
- bank_code: cleaned_acct_number.slice(0, 3),
344
- branch_code: cleaned_acct_number.slice(3, 4),
346
+ bank_code: cleaned_acct_number.slice(0, 3),
347
+ branch_code: cleaned_acct_number.slice(3, 4),
345
348
  account_number: cleaned_acct_number.slice(7, 17),
346
349
  }
347
350
  else local_details
@@ -363,8 +366,8 @@ module Ibandit
363
366
  account_number = account_number.rjust(8, "0") if account_number.length > 5
364
367
 
365
368
  {
366
- bank_code: bank_code,
367
- branch_code: branch_code,
369
+ bank_code: bank_code,
370
+ branch_code: branch_code,
368
371
  account_number: account_number,
369
372
  }
370
373
  end
@@ -381,7 +384,7 @@ module Ibandit
381
384
  end
382
385
 
383
386
  {
384
- bank_code: bank_code.rjust(4, "0"),
387
+ bank_code: bank_code.rjust(4, "0"),
385
388
  account_number: pad_is_account_number(parts),
386
389
  }
387
390
  end
@@ -389,8 +392,8 @@ module Ibandit
389
392
  def self.clean_it_details(local_details)
390
393
  # Add leading zeros to account number if < 12 digits.
391
394
  {
392
- bank_code: local_details[:bank_code],
393
- branch_code: local_details[:branch_code],
395
+ bank_code: local_details[:bank_code],
396
+ branch_code: local_details[:branch_code],
394
397
  account_number: local_details[:account_number].rjust(12, "0"),
395
398
  }
396
399
  end
@@ -430,8 +433,8 @@ module Ibandit
430
433
  account_number = account_number.rjust(18, "0")
431
434
 
432
435
  {
433
- bank_code: bank_code,
434
- branch_code: branch_code,
436
+ bank_code: bank_code,
437
+ branch_code: branch_code,
435
438
  account_number: account_number,
436
439
  }
437
440
  end
@@ -439,7 +442,7 @@ module Ibandit
439
442
  def self.clean_nl_details(local_details)
440
443
  # Add leading zeros to account number if < 10 digits.
441
444
  {
442
- bank_code: local_details[:bank_code],
445
+ bank_code: local_details[:bank_code],
443
446
  account_number: local_details[:account_number].rjust(10, "0"),
444
447
  }
445
448
  end
@@ -458,7 +461,7 @@ module Ibandit
458
461
  end
459
462
 
460
463
  {
461
- bank_code: bank_code,
464
+ bank_code: bank_code,
462
465
  account_number: account_number,
463
466
  }
464
467
  end
@@ -496,8 +499,8 @@ module Ibandit
496
499
  end
497
500
 
498
501
  {
499
- bank_code: bank_code,
500
- branch_code: branch_code,
502
+ bank_code: bank_code,
503
+ branch_code: branch_code,
501
504
  account_number: account_number,
502
505
  }
503
506
  end
@@ -516,7 +519,7 @@ module Ibandit
516
519
  end
517
520
 
518
521
  {
519
- bank_code: bank_code,
522
+ bank_code: bank_code,
520
523
  account_number: account_number,
521
524
  }
522
525
  end
@@ -549,7 +552,7 @@ module Ibandit
549
552
  def self.clean_si_details(local_details)
550
553
  # Add leading zeros to account number if < 10 digits.
551
554
  {
552
- bank_code: local_details[:bank_code],
555
+ bank_code: local_details[:bank_code],
553
556
  account_number: local_details[:account_number].rjust(10, "0"),
554
557
  }
555
558
  end
@@ -578,8 +581,8 @@ module Ibandit
578
581
 
579
582
  def self.swift_details_for(local_details)
580
583
  {
581
- swift_bank_code: local_details[:bank_code],
582
- swift_branch_code: local_details[:branch_code],
584
+ swift_bank_code: local_details[:bank_code],
585
+ swift_branch_code: local_details[:branch_code],
583
586
  swift_account_number: local_details[:account_number],
584
587
  }
585
588
  end