Module: LuhnAlgorithm
- Defined in:
- lib/luhn_algorithm.rb,
lib/luhn_algorithm/version.rb
Constant Summary collapse
- NUMBER_ONLY =
/^\d+$/- VERSION =
"0.1.1"
Class Method Summary collapse
Class Method Details
.valid?(value) ⇒ Boolean
7 8 9 10 11 12 13 14 15 |
# File 'lib/luhn_algorithm.rb', line 7 def self.valid?(value) value = value.to_s.reverse return false unless value.match(NUMBER_ONLY) arr = value.chars.map(&:to_i) (1...(arr.length)).step(2) do |index| arr[index] = (arr[index] * 2).divmod(10).sum end (arr.sum % 10).zero? end |