Class: CpfGenerator::Cpf
- Inherits:
-
Object
- Object
- CpfGenerator::Cpf
- Defined in:
- lib/cpf_generator.rb
Instance Attribute Summary collapse
-
#numbers ⇒ Object
Returns the value of attribute numbers.
Instance Method Summary collapse
- #check_remainder(remainder) ⇒ Object
- #first_dv ⇒ Object
- #formatted ⇒ Object
-
#initialize(numbers) ⇒ Cpf
constructor
A new instance of Cpf.
- #second_dv ⇒ Object
- #unformatted ⇒ Object
Constructor Details
#initialize(numbers) ⇒ Cpf
Returns a new instance of Cpf.
23 24 25 |
# File 'lib/cpf_generator.rb', line 23 def initialize(numbers) @numbers = numbers end |
Instance Attribute Details
#numbers ⇒ Object
Returns the value of attribute numbers.
21 22 23 |
# File 'lib/cpf_generator.rb', line 21 def numbers @numbers end |
Instance Method Details
#check_remainder(remainder) ⇒ Object
62 63 64 65 66 67 68 69 70 |
# 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 ⇒ Object
40 41 42 43 44 45 46 47 48 49 |
# 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 ⇒ Object
27 28 29 30 31 32 |
# 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 ⇒ Object
51 52 53 54 55 56 57 58 59 60 |
# 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 ⇒ Object
34 35 36 37 38 |
# File 'lib/cpf_generator.rb', line 34 def unformatted first_dv second_dv @numbers.join("") end |