simple_cpf_cnpj 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +1 -0
- data/cpf_cnpj.gemspec +2 -0
- data/lib/simple_cpf_cnpj/version.rb +1 -1
- data/lib/simple_cpf_cnpj.rb +4 -2
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 41e0da4ce3a3e43a714856218408aba1bc77a3df
|
4
|
+
data.tar.gz: 3c93d710cde92b4c50dbe1d7e58c6cf12d4903a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b6b189f8b91a78f2fef4bc146b66e66a78ba9e47e58b23356ac61e69a6c27d91c72efdb03939aa47de4dd7ac7e2ece862e975b406b0539e8bb3fcd94707a84d
|
7
|
+
data.tar.gz: 1484d5fc8fcb3cef72d4645fdd2e12cdc01129c3a5bcf2834666aae9f9bea9d243ffe43746c44d8263e56f456cb7643d580a005f68ca6d0080273feddf1f16b1
|
data/Rakefile
CHANGED
data/cpf_cnpj.gemspec
CHANGED
@@ -19,6 +19,8 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
spec.required_ruby_version = '>= 1.8.7'
|
22
|
+
spec.extra_rdoc_files = ['README.md', 'LICENSE']
|
23
|
+
spec.rdoc_options << '--title' << 'simple_cpf_cnpj -- CPF/CNPJ utility methods' << '--main' << 'README.md'
|
22
24
|
|
23
25
|
spec.add_development_dependency "bundler", "~> 1.10"
|
24
26
|
spec.add_development_dependency "rake", "~> 10.0"
|
data/lib/simple_cpf_cnpj.rb
CHANGED
@@ -14,6 +14,8 @@ require "simple_cpf_cnpj/version"
|
|
14
14
|
# One way to do that is, for example:
|
15
15
|
# CpfCnpj.valid_cpf?(formatted_cpf.gsub(/\D/, ''))
|
16
16
|
module CpfCnpj
|
17
|
+
BLACKLIST_CPF = %w{00000000000 11111111111 22222222222 33333333333 44444444444 55555555555 66666666666 77777777777 88888888888 99999999999}
|
18
|
+
BLACKLIST_CNPJ = %w{00000000000000 11111111111111 22222222222222 33333333333333 44444444444444 55555555555555 66666666666666 77777777777777 88888888888888 99999999999999}
|
17
19
|
# Checks the length of +cpf_or_cnpj+ to determine if it's a CPF or a CNPJ.
|
18
20
|
#
|
19
21
|
# CpfCnpj.type_of("12345678987") # 11 characters
|
@@ -74,7 +76,7 @@ module CpfCnpj
|
|
74
76
|
# CpfCnpj.valid_cpf?(11026822840)
|
75
77
|
# # ArgumentError: argument must be a string or nil
|
76
78
|
def self.valid_cpf?(cpf)
|
77
|
-
return type_of(cpf) == :cpf && _mod11_check(cpf, 11)
|
79
|
+
return type_of(cpf) == :cpf && !BLACKLIST_CPF.include?(cpf) && _mod11_check(cpf, 11)
|
78
80
|
end
|
79
81
|
|
80
82
|
# Validates +cnpj+ as a CNPJ by verifying that the check digits match.
|
@@ -90,7 +92,7 @@ module CpfCnpj
|
|
90
92
|
# CpfCnpj.valid_cnpj?(63871464000193)
|
91
93
|
# # ArgumentError: argument must be a string or nil
|
92
94
|
def self.valid_cnpj?(cnpj)
|
93
|
-
return type_of(cnpj) == :cnpj && _mod11_check(cnpj, 9)
|
95
|
+
return type_of(cnpj) == :cnpj && !BLACKLIST_CNPJ.include?(cnpj) && _mod11_check(cnpj, 9)
|
94
96
|
end
|
95
97
|
|
96
98
|
# Validates +cnpj_or_cnpj+ as either a CPF or a CNPJ by verifying that the check digits match.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_cpf_cnpj
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Santos
|
@@ -72,7 +72,9 @@ email:
|
|
72
72
|
- david@dsantosdev.com
|
73
73
|
executables: []
|
74
74
|
extensions: []
|
75
|
-
extra_rdoc_files:
|
75
|
+
extra_rdoc_files:
|
76
|
+
- README.md
|
77
|
+
- LICENSE
|
76
78
|
files:
|
77
79
|
- ".gitignore"
|
78
80
|
- ".travis.yml"
|
@@ -90,7 +92,11 @@ licenses:
|
|
90
92
|
- MIT
|
91
93
|
metadata: {}
|
92
94
|
post_install_message:
|
93
|
-
rdoc_options:
|
95
|
+
rdoc_options:
|
96
|
+
- "--title"
|
97
|
+
- simple_cpf_cnpj -- CPF/CNPJ utility methods
|
98
|
+
- "--main"
|
99
|
+
- README.md
|
94
100
|
require_paths:
|
95
101
|
- lib
|
96
102
|
required_ruby_version: !ruby/object:Gem::Requirement
|