Module: Luhn
- Defined in:
- lib/luhn.rb,
lib/luhn/version.rb
Constant Summary collapse
- VERSION =
"0.0.1"
Class Method Summary collapse
- .calculate_check_digit(number) ⇒ Object
- .double_digits(number) ⇒ Object
- .ping ⇒ Object
- .valid?(number) ⇒ Boolean
Class Method Details
.calculate_check_digit(number) ⇒ Object
15 16 17 18 |
# File 'lib/luhn.rb', line 15 def calculate_check_digit(number) doubles = double_digits(number) sum_of_all(doubles) unless null?(doubles) end |
.double_digits(number) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/luhn.rb', line 20 def double_digits(number) doubles = [] digits = all_digits(number).reverse digits.each_with_index do |d, i| if i.odd? == true sum = d * 2 if sum > 9 || !sum.nil? split_sum = sum.to_s.split(//) to_int = split_sum.map { |m| m.to_i } make_sum = to_int.inject { |sum, n| sum + n } doubles << make_sum else doubles << sum end else doubles << d end end return doubles end |
.ping ⇒ Object
7 8 9 |
# File 'lib/luhn.rb', line 7 def ping 'pong' end |
.valid?(number) ⇒ Boolean
11 12 13 |
# File 'lib/luhn.rb', line 11 def valid?(number) checksum(number) end |