lib/ibandit/local_details_cleaner.rb in ibandit-0.11.25 vs lib/ibandit/local_details_cleaner.rb in ibandit-0.11.26
- old
+ new
@@ -30,11 +30,12 @@
required_fields(country_code).all? { |argument| opts[argument] }
end
def self.required_fields(country_code)
case country_code
- when "AT", "CY", "DE", "FI", "LT", "LU", "LV", "NL", "RO", "SI", "SK"
+ when "AT", "CY", "DE", "FI", "LT", "LU",
+ "LV", "NL", "RO", "SI", "SK", "US"
%i[bank_code account_number]
when "BE", "CZ", "DK", "EE", "ES", "HR",
"HU", "IS", "NO", "PL", "SE", "NZ"
%i[account_number]
when "GB", "IE", "MT"
@@ -94,9 +95,21 @@
end
{
account_number: local_details[:account_number].rjust(12, "0"),
bank_code: bank_code,
+ }
+ end
+
+ def self.clean_us_details(local_details)
+ return {} unless local_details[:bank_code].length == 9
+
+ account_number = local_details[:account_number].delete(" ")
+ return {} unless (1..17).cover?(account_number.length)
+
+ {
+ bank_code: local_details[:bank_code],
+ account_number: account_number.rjust(17, "_"),
}
end
def self.clean_bg_details(local_details)
# Bulgarian national bank details were replaced with IBANs in 2006.