simple_cpf_cnpj 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/benchmark +15 -0
- data/lib/simple_cpf_cnpj/version.rb +1 -1
- data/lib/simple_cpf_cnpj.rb +5 -8
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 99e239936871b845d6193c6a9fbacccab6e860bcbeaf44e5a74a56f439e3a70d
|
4
|
+
data.tar.gz: 8cb91799ccd828b1f89597fb4e843556b3773803326bf892bece7d6183b91fbf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4e2b9575ebca00cea1f7175016acc8ed33981855cae39dad94556a582f913823292ffd407ae353f8e3f6fd9847cfad7ef19c7311871419be31ef54efdd6f585f
|
7
|
+
data.tar.gz: 7bb3568b7dd86fbd373f3a298ce0c023cf3184afa7204c4fe9da210be8b74195475804b062e442cf8d237fbc78d13eb10b39e4f1f1ffa0c0f0d3f2d232888732
|
data/bin/benchmark
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require "bundler/setup"
|
3
|
+
require "simple_cpf_cnpj"
|
4
|
+
require "benchmark"
|
5
|
+
|
6
|
+
SAMPLE_SIZE = 1_000_000
|
7
|
+
SAMPLE_LENGTH = 14 # CPF = 11; CNPJ = 14
|
8
|
+
|
9
|
+
subjects = Array.new(SAMPLE_SIZE){|_| "%0#{SAMPLE_LENGTH}u" % rand(10**SAMPLE_LENGTH) }
|
10
|
+
|
11
|
+
Benchmark.bmbm do |x|
|
12
|
+
x.report do
|
13
|
+
subjects.each{|c| CpfCnpj.valid_cpf_cnpj?(c) }
|
14
|
+
end
|
15
|
+
end
|
data/lib/simple_cpf_cnpj.rb
CHANGED
@@ -119,23 +119,20 @@ module CpfCnpj
|
|
119
119
|
def self._mod11_check_digit(digits, mult_max) # :nodoc:
|
120
120
|
sum = 0
|
121
121
|
mult = 2
|
122
|
-
digits[0..-2].reverse.
|
123
|
-
digit
|
124
|
-
return false
|
122
|
+
digits[0..-2].reverse.each_byte do |digit|
|
123
|
+
digit -= 48
|
124
|
+
return false if digit < 0 || digit > 9
|
125
125
|
sum += mult * digit
|
126
126
|
mult += 1
|
127
127
|
mult = 2 if mult > mult_max
|
128
128
|
end
|
129
129
|
sum = 11 - (sum % 11)
|
130
130
|
sum = 0 if sum > 9
|
131
|
-
|
131
|
+
(digits[-1].ord - 48) == sum
|
132
132
|
end
|
133
133
|
|
134
134
|
def self._mod11_check(digits, mult_max) # :nodoc:
|
135
|
+
return false unless digits.ascii_only?
|
135
136
|
_mod11_check_digit(digits[0..-2], mult_max) && _mod11_check_digit(digits, mult_max)
|
136
137
|
end
|
137
|
-
|
138
|
-
def self._int_value(str) # :nodoc:
|
139
|
-
str.ord - 48
|
140
|
-
end
|
141
138
|
end
|
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: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Davi Medrade
|
@@ -104,6 +104,7 @@ files:
|
|
104
104
|
- README-pt.md
|
105
105
|
- README.md
|
106
106
|
- Rakefile
|
107
|
+
- bin/benchmark
|
107
108
|
- bin/console
|
108
109
|
- bin/setup
|
109
110
|
- cpf_cnpj.gemspec
|