class CpfGenerator::Cpf
Attributes
numbers[RW]
Public Class Methods
new(numbers)
click to toggle source
# File lib/cpf_generator.rb, line 23 def initialize(numbers) @numbers = numbers end
Public Instance Methods
check_remainder(remainder)
click to toggle source
# File lib/cpf_generator.rb, line 62 def check_remainder(remainder) if remainder < 2 @numbers << 0 0 else @numbers << (11 - remainder) (11 - remainder) end end
first_dv()
click to toggle source
# File lib/cpf_generator.rb, line 40 def first_dv value = 0 multipliers = [10,9,8,7,6,5,4,3,2] multipliers.each_with_index do |mult, index| value += @numbers[index] * mult end check_remainder(value % 11) end
formatted()
click to toggle source
# File lib/cpf_generator.rb, line 27 def formatted first_dv second_dv cpf = @numbers.join("") "#{cpf[0..2]}.#{cpf[3..5]}.#{cpf[6..8]}-#{cpf[9..11]}" end
second_dv()
click to toggle source
# File lib/cpf_generator.rb, line 51 def second_dv value = 0 multipliers = [11,10,9,8,7,6,5,4,3,2] multipliers.each_with_index do |mult, index| value += @numbers[index] * mult end check_remainder(value % 11) end
unformatted()
click to toggle source
# File lib/cpf_generator.rb, line 34 def unformatted first_dv second_dv @numbers.join("") end