Class: LuhnAlgorithm

Inherits:
Object
  • Object
show all
Defined in:
lib/luhnAlgorithmCheck.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(num) ⇒ LuhnAlgorithm

Returns a new instance of LuhnAlgorithm.



4
5
6
# File 'lib/luhnAlgorithmCheck.rb', line 4

def initialize(num)
  @num = num
end

Instance Attribute Details

#numObject (readonly)

Returns the value of attribute num.



2
3
4
# File 'lib/luhnAlgorithmCheck.rb', line 2

def num
  @num
end

Instance Method Details

#luhn_valid?Boolean

Returns:

  • (Boolean)


8
9
10
11
12
# File 'lib/luhnAlgorithmCheck.rb', line 8

def luhn_valid?()
 num.scan(/\d/).reverse.each_slice(2)
    .sum { |i, k = 0| i.to_i + ((k.to_i)*2).digits.sum }
    .modulo(10).zero?
end