class LuhnValidator
Public Class Methods
new(number)
click to toggle source
# File lib/luhn_credit_card/luhn_validator.rb, line 2 def initialize(number) @number = number end
Public Instance Methods
valid?()
click to toggle source
# File lib/luhn_credit_card/luhn_validator.rb, line 6 def valid? number_sum % 10 == 0 end
Private Instance Methods
number_sum()
click to toggle source
# File lib/luhn_credit_card/luhn_validator.rb, line 12 def number_sum @number.split('').reverse.map.each_with_index do |number, i| ((i + 1).even? ? (number.to_i * 2) : number).to_s.split('') end.flatten.map(&:to_i).reduce(:+) end