class ImeiValidator

Constants

REGEXP

Private Instance Methods

valid_attr?() click to toggle source
# File lib/lite/validators/imei_validator.rb, line 9
def valid_attr?
  valid_regexp? && valid_checksum?
end
valid_checksum?() click to toggle source
# File lib/lite/validators/imei_validator.rb, line 13
def valid_checksum?
  number = value.to_s.gsub(/\D/, '').reverse

  total = 0
  number.chars.each_with_index do |chr, idx|
    result = chr.to_i
    result *= 2 if idx.odd?
    result = (1 + (result - 10)) if result >= 10
    total += result
  end

  (total % 10).zero?
end