Class: BrazilianValidators::Cnpj
- Inherits:
-
Object
- Object
- BrazilianValidators::Cnpj
- Defined in:
- lib/brazilian_validators/cnpj.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(document) ⇒ Cnpj
constructor
A new instance of Cnpj.
- #valid? ⇒ Boolean
Constructor Details
#initialize(document) ⇒ Cnpj
Returns a new instance of Cnpj.
3 4 5 6 7 8 9 10 |
# File 'lib/brazilian_validators/cnpj.rb', line 3 def initialize(document) raise(StandardError, "Not a valid cnpj format") unless document.match(/[0-9]{2}\.[0-9]{3}\.[0-9]{3}\/[0-9]{4}\-[0-9]{2}|\d{14}/) document = document.to_s document.gsub!(/\D/, "") @digits = document[0..11] @first_digit_checker = document[12] @second_digit_checker = document[13] end |
Class Method Details
.valid?(document = '') ⇒ Boolean
18 19 20 |
# File 'lib/brazilian_validators/cnpj.rb', line 18 def self.valid?(document = '') BrazilianValidators::Cnpj.new(document).valid? end |
Instance Method Details
#valid? ⇒ Boolean
12 13 14 15 16 |
# File 'lib/brazilian_validators/cnpj.rb', line 12 def valid? first_digit = first_check_digit second_digit = second_check_digit(first_digit) first_digit == @first_digit_checker.to_i && second_digit == @second_digit_checker.to_i end |