Sha256: a43427b351f65f7586d7c6523254e5513231617fdeb3f802c83b1009d7072b53
Contents?: true
Size: 473 Bytes
Versions: 1
Compression:
Stored size: 473 Bytes
Contents
# frozen_string_literal: true class ImeiValidator < BaseValidator REGEXP = /\A[\d.:\-\s]+\z/i 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
lite-validators-1.8.0 | lib/lite/validators/imei_validator.rb |