Class: TinValid::PortugalTin

Inherits:
Object
  • Object
show all
Defined in:
lib/tin_valid/portugal_tin.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(tin:) ⇒ PortugalTin

Returns a new instance of PortugalTin.



5
6
7
# File 'lib/tin_valid/portugal_tin.rb', line 5

def initialize(tin:)
  @tin = tin
end

Instance Attribute Details

#tinObject (readonly)

Returns the value of attribute tin.



9
10
11
# File 'lib/tin_valid/portugal_tin.rb', line 9

def tin
  @tin
end

Instance Method Details

#valid?Boolean

Returns:

  • (Boolean)


11
12
13
14
15
16
17
# File 'lib/tin_valid/portugal_tin.rb', line 11

def valid?
  return false unless /\A[0-9]{9}\z/.match?(tin)
  return false if tin == "000000000"
  return false if tin == "123456789"

  tin[-1].to_i == check
end