Class: TinValid::FranceTin
- Inherits:
-
Object
- Object
- TinValid::FranceTin
- Defined in:
- lib/tin_valid/france_tin.rb
Instance Attribute Summary collapse
-
#tin ⇒ Object
readonly
Returns the value of attribute tin.
Instance Method Summary collapse
-
#initialize(tin:) ⇒ FranceTin
constructor
A new instance of FranceTin.
- #siren? ⇒ Boolean
- #siret? ⇒ Boolean
- #valid? ⇒ Boolean
Constructor Details
#initialize(tin:) ⇒ FranceTin
6 7 8 |
# File 'lib/tin_valid/france_tin.rb', line 6 def initialize(tin:) @tin = tin end |
Instance Attribute Details
#tin ⇒ Object (readonly)
Returns the value of attribute tin.
10 11 12 |
# File 'lib/tin_valid/france_tin.rb', line 10 def tin @tin end |
Instance Method Details
#siren? ⇒ Boolean
15 16 17 18 19 20 |
# File 'lib/tin_valid/france_tin.rb', line 15 def siren? return false unless /\A[1-9][0-9]{8}\z/.match?(tin) return false if tin == "123456789" luhn_valid? end |
#siret? ⇒ Boolean
23 24 25 26 27 28 |
# File 'lib/tin_valid/france_tin.rb', line 23 def siret? return false unless /\A\d{14}\z/.match?(tin) return false if tin == "00000000000000" luhn_valid? end |
#valid? ⇒ Boolean
12 |
# File 'lib/tin_valid/france_tin.rb', line 12 def valid? = valid_v1? || siren? || siret? |