Class: Activepesel::Pesel

Inherits:
Object
  • Object
show all
Defined in:
lib/activepesel/pesel.rb

Constant Summary collapse

DIGIT_WEIGHTS =
[1, 3, 7, 9, 1, 3 ,7, 9, 1, 3, 1].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(number) ⇒ Pesel

Returns a new instance of Pesel.



8
9
10
# File 'lib/activepesel/pesel.rb', line 8

def initialize(number)
  @number = number 
end

Instance Attribute Details

#numberObject (readonly)

Returns the value of attribute number.



6
7
8
# File 'lib/activepesel/pesel.rb', line 6

def number
  @number
end

Instance Method Details

#digitsObject



16
17
18
# File 'lib/activepesel/pesel.rb', line 16

def digits
  @number.split("").select{|digit| digit.to_i.to_s == digit}.map(&:to_i)
end

#get_personal_dataObject



20
21
22
# File 'lib/activepesel/pesel.rb', line 20

def get_personal_data
  PersonalData.new(self)
end

#valid?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/activepesel/pesel.rb', line 12

def valid?
  digits.size == 11 && control_value % 10 == 0
end