Guest User

Untitled

a guest
Jul 17th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.33 KB | None | 0 0
  1. def luhn_valid?(value)
  2. return false unless value.is_a?(String) && !value.strip.empty?
  3.  
  4. value.gsub!(/\D/, '')
  5.  
  6. sum = 0
  7.  
  8. value.split(//).each_with_index do |number, index|
  9.  
  10. if index.even?
  11. sum += (number * 2).to_s.split(//).map(&:to_i).sum
  12. else
  13. sum += number
  14. end
  15.  
  16. end
  17.  
  18. sum % 10 == 0
  19. end
Add Comment
Please, Sign In to add comment