Class: CNPJ
- Inherits:
-
Object
show all
- Defined in:
- lib/cnpj.rb,
lib/cnpj/cli.rb,
lib/cnpj/formatter.rb,
lib/cnpj/generator.rb,
lib/cpf_cnpj/version.rb,
lib/cnpj/verifier_digit.rb
Defined Under Namespace
Classes: CLI, Formatter, Generator, VerifierDigit
Constant Summary
collapse
- REGEX =
/\A\d{2}\.\d{3}.\d{3}\/\d{4}-\d{2}\Z/
- BLACKLIST =
[
"00000000000000",
"11111111111111",
"22222222222222",
"33333333333333",
"44444444444444",
"55555555555555",
"66666666666666",
"77777777777777",
"88888888888888",
"99999999999999"
]
- VERSION =
"0.2.0"
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(number) ⇒ CNPJ
Returns a new instance of CNPJ.
33
34
35
|
# File 'lib/cnpj.rb', line 33
def initialize(number)
@number = number.to_s
end
|
Instance Attribute Details
#number ⇒ Object
Returns the value of attribute number.
7
8
9
|
# File 'lib/cnpj.rb', line 7
def number
@number
end
|
Class Method Details
.generate(formatted = false) ⇒ Object
28
29
30
31
|
# File 'lib/cnpj.rb', line 28
def self.generate(formatted = false)
cnpj = new(Generator.generate)
formatted ? cnpj.formatted : cnpj.stripped
end
|
.valid?(number) ⇒ Boolean
24
25
26
|
# File 'lib/cnpj.rb', line 24
def self.valid?(number)
new(number).valid?
end
|
Instance Method Details
48
49
50
|
# File 'lib/cnpj.rb', line 48
def formatted
@formatted ||= Formatter.format(number)
end
|
#stripped ⇒ Object
44
45
46
|
# File 'lib/cnpj.rb', line 44
def stripped
@stripped ||= Formatter.strip(number)
end
|
#valid? ⇒ Boolean
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/cnpj.rb', line 52
def valid?
return unless stripped.size == 14
return if BLACKLIST.include?(stripped)
_numbers = numbers[0...12]
_numbers << VerifierDigit.generate(_numbers)
_numbers << VerifierDigit.generate(_numbers)
_numbers[-2, 2] == numbers[-2, 2]
end
|