class UkAccountValidator::Validators::StandardModulus
Perform validation for sort codes with MOD10
Public Instance Methods
modulus()
click to toggle source
# File lib/uk_account_validator/validators/standard_modulus.rb, line 5 def modulus fail NotImplementedError end
valid?()
click to toggle source
# File lib/uk_account_validator/validators/standard_modulus.rb, line 9 def valid? test_string = sort_code + account_number test_digits = test_string.split(//).map(&:to_i) total = applying_exceptions(test_digits) do NUMBER_INDEX.each_pair.reduce(0) do |t, pair| weight, index = pair t + modulus_weight.send(weight) * test_digits[index] end end if exception.override_test? return exception.test(modulus, total, test_digits, :standard_modulus) end total % modulus == 0 end