Class: Activepesel::Pesel
- Inherits:
-
Object
- Object
- Activepesel::Pesel
- 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
-
#number ⇒ Object
readonly
Returns the value of attribute number.
Instance Method Summary collapse
- #digits ⇒ Object
- #get_personal_data ⇒ Object
-
#initialize(number) ⇒ Pesel
constructor
A new instance of Pesel.
- #valid? ⇒ Boolean
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
#number ⇒ Object (readonly)
Returns the value of attribute number.
6 7 8 |
# File 'lib/activepesel/pesel.rb', line 6 def number @number end |
Instance Method Details
#digits ⇒ Object
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_data ⇒ Object
20 21 22 |
# File 'lib/activepesel/pesel.rb', line 20 def get_personal_data PersonalData.new(self) end |
#valid? ⇒ Boolean
12 13 14 |
# File 'lib/activepesel/pesel.rb', line 12 def valid? digits.size == 11 && control_value % 10 == 0 end |