class BankSlip::CheckDigit
Public Class Methods
new(number:)
click to toggle source
# File lib/bank_slip/check_digit.rb, line 3 def initialize(number:) @number = number end
Public Instance Methods
calc()
click to toggle source
# File lib/bank_slip/check_digit.rb, line 7 def calc r = result r == 10 ? 0 : r end
Private Instance Methods
result()
click to toggle source
# File lib/bank_slip/check_digit.rb, line 14 def result result_string = "" @number.reverse.split("").each_with_index do |c, index| result_string << (c.to_i * ((1 + index) % 2 + 1)).to_s end 10 - sum(result_string) % 10 end
sum(result_string)
click to toggle source
# File lib/bank_slip/check_digit.rb, line 23 def sum(result_string) total = 0 result_string.each_char { |c| total += c.to_i } total end