Sha256: c00659073f982f5dedb3961ac161afd1b6d8abc4f5ad52dcd50630916db9d773
Contents?: true
Size: 482 Bytes
Versions: 3
Compression:
Stored size: 482 Bytes
Contents
# frozen_string_literal: true class ImeiValidator < BaseValidator REGEXP ||= /\A[\d.:\-\s]+\z/i.freeze private def valid_attr? valid_regexp? && valid_checksum? end 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 end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
lite-validators-1.1.1 | lib/lite/validators/imei_validator.rb |
lite-validators-1.1.0 | lib/lite/validators/imei_validator.rb |
lite-validators-1.0.7 | lib/lite/validators/imei_validator.rb |