class SedolValidator

Constants

REGEXP
WEIGHTS

Private Instance Methods

valid_attr?() click to toggle source
# File lib/lite/validators/sedol_validator.rb, line 12
def valid_attr?
  valid_regexp? && valid_checksum?
end
valid_checksum?() click to toggle source
# File lib/lite/validators/sedol_validator.rb, line 16
def valid_checksum?
  total = 0
  digits = value.chars.map { |dgt| /[A-Z]/.match?(dgt) ? (dgt.ord - 55) : dgt.to_i }
  digits.each_with_index { |dgt, idx| total += (WEIGHTS[idx] * dgt) }
  (10 - total % 10) % 10
end