Class: TinValid::EstoniaTin
- Inherits:
-
Object
- Object
- TinValid::EstoniaTin
- Includes:
- Helpers
- Defined in:
- lib/tin_valid/estonia_tin.rb
Instance Attribute Summary collapse
-
#birth_date ⇒ Object
readonly
Returns the value of attribute birth_date.
-
#tin ⇒ Object
readonly
Returns the value of attribute tin.
Instance Method Summary collapse
-
#initialize(tin:, birth_date: nil) ⇒ EstoniaTin
constructor
A new instance of EstoniaTin.
- #valid? ⇒ Boolean
Constructor Details
#initialize(tin:, birth_date: nil) ⇒ EstoniaTin
Returns a new instance of EstoniaTin.
7 8 9 10 |
# File 'lib/tin_valid/estonia_tin.rb', line 7 def initialize(tin:, birth_date: nil) @tin = tin @birth_date = birth_date end |
Instance Attribute Details
#birth_date ⇒ Object (readonly)
Returns the value of attribute birth_date.
12 13 14 |
# File 'lib/tin_valid/estonia_tin.rb', line 12 def birth_date @birth_date end |
#tin ⇒ Object (readonly)
Returns the value of attribute tin.
12 13 14 |
# File 'lib/tin_valid/estonia_tin.rb', line 12 def tin @tin end |
Instance Method Details
#valid? ⇒ Boolean
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/tin_valid/estonia_tin.rb', line 14 def valid? match = MATCHER.match(tin) return false unless match return false unless (1..710).cover?(match[:id].to_i) if birth_date year = "#{birth_century}#{match[:year]}" return false if birth_date != date(year, match[:month], match[:day]) end match[:check].to_i == checksum end |