lib/ibandit/local_details_cleaner.rb in ibandit-0.8.4 vs lib/ibandit/local_details_cleaner.rb in ibandit-0.8.5
- old
+ new
@@ -145,11 +145,17 @@
# This method supports being passed the component IBAN parts, as defined
# by SWIFT, or a single traditional-format string split by a '-'.
if local_details[:bank_code]
bank_code = local_details[:bank_code].rjust(4, '0')
account_number = local_details[:account_number].rjust(10, '0')
- else
+ elsif local_details[:account_number].include?('-')
bank_code, account_number = local_details[:account_number].split('-', 2)
+ elsif local_details[:account_number].gsub(/\s/, '').length == 14
+ cleaned_account_number = local_details[:account_number].gsub(/\s/, '')
+ bank_code = cleaned_account_number.slice(0, 4)
+ account_number = cleaned_account_number.slice(4, 10)
+ else
+ return {}
end
{
bank_code: bank_code.rjust(4, '0'),
account_number: account_number.delete('-').rjust(10, '0')