class UkAccountValidator::Validators::BaseValidator

Attributes

account_number[R]
exception[R]
modulus_weight[R]
sort_code[R]

Public Class Methods

new(account_number, sort_code, modulus_weight, exception) click to toggle source
# File lib/uk_account_validator/validators/base_validator.rb, line 8
def initialize(account_number, sort_code, modulus_weight, exception)
  @account_number = account_number
  @sort_code      = sort_code
  @modulus_weight = modulus_weight
  @exception      = exception

  @sort_code = exception.apply_sort_code_substitutions
end

Public Instance Methods

applying_exceptions(test_digits) { || ... } click to toggle source
# File lib/uk_account_validator/validators/base_validator.rb, line 17
def applying_exceptions(test_digits)
  @modulus_weight = exception.replace_weight(test_digits)

  total = yield

  total = exception.after_calculate_total(total, test_digits)

  total
end