brazilian_documents 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/README.md +263 -15
- data/br_documents.gemspec +5 -5
- data/lib/br_documents.rb +3 -0
- data/lib/br_documents/documents/cnpj.rb +7 -10
- data/lib/br_documents/documents/cpf.rb +7 -10
- data/lib/br_documents/documents/ie.rb +43 -0
- data/lib/br_documents/documents/ie/ac.rb +15 -0
- data/lib/br_documents/documents/ie/al.rb +50 -0
- data/lib/br_documents/documents/ie/am.rb +12 -0
- data/lib/br_documents/documents/ie/ap.rb +61 -0
- data/lib/br_documents/documents/ie/ba.rb +84 -0
- data/lib/br_documents/documents/ie/ba/base.rb +37 -0
- data/lib/br_documents/documents/ie/ba/digits8/modulo_10.rb +12 -0
- data/lib/br_documents/documents/ie/ba/digits8/modulo_11.rb +12 -0
- data/lib/br_documents/documents/ie/ba/digits9/modulo_10.rb +19 -0
- data/lib/br_documents/documents/ie/ba/digits9/modulo_11.rb +20 -0
- data/lib/br_documents/documents/ie/ba/modulo_10.rb +19 -0
- data/lib/br_documents/documents/ie/ba/modulo_11.rb +18 -0
- data/lib/br_documents/documents/ie/base.rb +79 -0
- data/lib/br_documents/documents/ie/ce.rb +14 -0
- data/lib/br_documents/documents/ie/df.rb +16 -0
- data/lib/br_documents/documents/ie/es.rb +12 -0
- data/lib/br_documents/documents/ie/go.rb +14 -0
- data/lib/br_documents/documents/ie/ma.rb +14 -0
- data/lib/br_documents/documents/ie/mg.rb +66 -0
- data/lib/br_documents/documents/ie/ms.rb +14 -0
- data/lib/br_documents/documents/ie/mt.rb +14 -0
- data/lib/br_documents/documents/ie/pa.rb +14 -0
- data/lib/br_documents/documents/ie/pb.rb +14 -0
- data/lib/br_documents/documents/ie/pe.rb +38 -0
- data/lib/br_documents/documents/ie/pe/current.rb +13 -0
- data/lib/br_documents/documents/ie/pe/legacy.rb +12 -0
- data/lib/br_documents/documents/ie/pi.rb +14 -0
- data/lib/br_documents/documents/ie/pr.rb +13 -0
- data/lib/br_documents/documents/ie/rj.rb +25 -0
- data/lib/br_documents/documents/ie/rn.rb +14 -0
- data/lib/br_documents/documents/ie/ro.rb +44 -0
- data/lib/br_documents/documents/ie/ro/current.rb +24 -0
- data/lib/br_documents/documents/ie/ro/legacy.rb +13 -0
- data/lib/br_documents/documents/ie/rr.rb +19 -0
- data/lib/br_documents/documents/ie/rs.rb +12 -0
- data/lib/br_documents/documents/ie/sc.rb +12 -0
- data/lib/br_documents/documents/ie/se.rb +14 -0
- data/lib/br_documents/documents/ie/sp.rb +38 -0
- data/lib/br_documents/documents/ie/sp/industry.rb +22 -0
- data/lib/br_documents/documents/ie/sp/rural.rb +21 -0
- data/lib/br_documents/documents/ie/to.rb +14 -0
- data/lib/br_documents/version.rb +1 -1
- metadata +47 -5
@@ -0,0 +1,12 @@
|
|
1
|
+
# http://www.sintegra.gov.br/Cad_Estados/cad_RS.html
|
2
|
+
module BRDocuments
|
3
|
+
class IE::RS < IE::Base
|
4
|
+
|
5
|
+
set_verify_digits_weights first: %w(2 9 8 7 6 5 4 3 2)
|
6
|
+
|
7
|
+
set_format_regexp %r{^(\d{3})[-.\/]?(\d{6})[-.]?(\d{1})}
|
8
|
+
|
9
|
+
set_pretty_format_mask %(%s/%s%s)
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# http://www.sintegra.gov.br/Cad_Estados/cad_SC.html
|
2
|
+
module BRDocuments
|
3
|
+
class IE::SC < IE::Base
|
4
|
+
|
5
|
+
set_verify_digits_weights first: %w(9 8 7 6 5 4 3 2)
|
6
|
+
|
7
|
+
set_format_regexp %r{^(\d{3})[-.]?(\d{3})[-.]?(\d{2})[-.]?(\d{1})}
|
8
|
+
|
9
|
+
set_pretty_format_mask %(%s.%s.%s%s)
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# http://www.sintegra.gov.br/Cad_Estados/cad_SE.html
|
2
|
+
module BRDocuments
|
3
|
+
class IE::SE < IE::Base
|
4
|
+
|
5
|
+
set_verify_digits_weights first: %w(9 8 7 6 5 4 3 2)
|
6
|
+
|
7
|
+
set_format_regexp %r{^(27)(\d{3})[-.]?(\d{3})[-.]?(\d{1})}
|
8
|
+
|
9
|
+
set_pretty_format_mask %(%s.%s.%s-%s)
|
10
|
+
|
11
|
+
set_fixed_digits [2, 7]
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# This class is a wrapper/interface to glue all SP IE generators and validators
|
2
|
+
module BRDocuments
|
3
|
+
module IE::SP
|
4
|
+
class << self
|
5
|
+
|
6
|
+
# Delegate all methods to specific class
|
7
|
+
def method_missing(method, *args)
|
8
|
+
class_for_number(args[0]).public_send(method, *args)
|
9
|
+
end
|
10
|
+
|
11
|
+
def generate(formatted = true, rural = false)
|
12
|
+
class_for(rural).generate(formatted)
|
13
|
+
end
|
14
|
+
|
15
|
+
def generate_root_numbers(rural = false)
|
16
|
+
class_for(rural).generate_root_numbers
|
17
|
+
end
|
18
|
+
|
19
|
+
def rural?(number)
|
20
|
+
!!(number.to_s.match(/^P/) && [11, 12].member?(number.to_s.gsub(/[^\d]/, '').size))
|
21
|
+
end
|
22
|
+
|
23
|
+
protected
|
24
|
+
def class_for_number(number)
|
25
|
+
class_for(rural?(number))
|
26
|
+
end
|
27
|
+
|
28
|
+
def class_for(rural)
|
29
|
+
class_name = class_name_for(rural)
|
30
|
+
IE::SP.const_get(class_name)
|
31
|
+
end
|
32
|
+
|
33
|
+
def class_name_for(rural = false)
|
34
|
+
rural ? "Rural" : "Industry"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# http://www.sintegra.gov.br/Cad_Estados/cad_SP.html
|
2
|
+
module BRDocuments
|
3
|
+
module IE::SP
|
4
|
+
class Industry < IE::Base
|
5
|
+
set_root_digits_count 10
|
6
|
+
|
7
|
+
set_verify_digits_positions [8, 11]
|
8
|
+
|
9
|
+
set_verify_digits_weights first: %w(1 3 4 5 6 7 8 10),
|
10
|
+
last: %w(3 2 10 9 8 7 6 5 4 3 2)
|
11
|
+
|
12
|
+
set_format_regexp %r{(\d{3})[-.]?(\d{3})[-.]?(\d{3})[-.]?(\d{3})}
|
13
|
+
|
14
|
+
set_pretty_format_mask %(%s.%s.%s.%s)
|
15
|
+
|
16
|
+
# the last number from rest, WHY São Paulo??? IDK
|
17
|
+
def calc_verify_digit(quotient_rest)
|
18
|
+
quotient_rest.to_i.to_s[-1].to_i
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# http://www.sintegra.gov.br/Cad_Estados/cad_SP.html
|
2
|
+
module BRDocuments
|
3
|
+
module IE::SP
|
4
|
+
class Rural < IE::Base
|
5
|
+
set_root_digits_count 11
|
6
|
+
|
7
|
+
set_verify_digits_positions [8]
|
8
|
+
|
9
|
+
set_verify_digits_weights first: %w(1 3 4 5 6 7 8 10)
|
10
|
+
|
11
|
+
set_format_regexp %r{(P)?[-.]?(\d{8})[-.]?(\d{1})[\/]?(\d{3})}
|
12
|
+
|
13
|
+
set_pretty_format_mask %(P%s-%s.%s/%s)
|
14
|
+
|
15
|
+
# the last number from rest, WHY São Paulo??? IDK
|
16
|
+
def calc_verify_digit(quotient_rest)
|
17
|
+
quotient_rest.to_i.to_s[-1].to_i
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# http://www.sintegra.gov.br/Cad_Estados/cad_TO.html
|
2
|
+
module BRDocuments
|
3
|
+
class IE::TO < IE::Base
|
4
|
+
|
5
|
+
set_verify_digits_weights first: %w(9 8 7 6 5 4 3 2)
|
6
|
+
|
7
|
+
set_format_regexp %r{^(\d{2})[-.]?(\d{3})[-.]?(\d{3})[-.]?(\d{1})}
|
8
|
+
|
9
|
+
set_pretty_format_mask %(%s.%s.%s-%s)
|
10
|
+
|
11
|
+
set_fixed_digits [2, 9]
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
data/lib/br_documents/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brazilian_documents
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rafael Fidelis
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: digit_checksum
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.2.3
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.2.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '3.0'
|
69
69
|
description: Esta gem implementa vários validadores de documentos oficiais brasileiros,
|
70
|
-
como CPF, CNPJ, RG e Título de Eleitor
|
70
|
+
como CPF, CNPJ, Inscrição estadual, RG e Título de Eleitor
|
71
71
|
email:
|
72
72
|
- rafa_fidelis@yahoo.com.br
|
73
73
|
executables: []
|
@@ -88,6 +88,48 @@ files:
|
|
88
88
|
- lib/br_documents.rb
|
89
89
|
- lib/br_documents/documents/cnpj.rb
|
90
90
|
- lib/br_documents/documents/cpf.rb
|
91
|
+
- lib/br_documents/documents/ie.rb
|
92
|
+
- lib/br_documents/documents/ie/ac.rb
|
93
|
+
- lib/br_documents/documents/ie/al.rb
|
94
|
+
- lib/br_documents/documents/ie/am.rb
|
95
|
+
- lib/br_documents/documents/ie/ap.rb
|
96
|
+
- lib/br_documents/documents/ie/ba.rb
|
97
|
+
- lib/br_documents/documents/ie/ba/base.rb
|
98
|
+
- lib/br_documents/documents/ie/ba/digits8/modulo_10.rb
|
99
|
+
- lib/br_documents/documents/ie/ba/digits8/modulo_11.rb
|
100
|
+
- lib/br_documents/documents/ie/ba/digits9/modulo_10.rb
|
101
|
+
- lib/br_documents/documents/ie/ba/digits9/modulo_11.rb
|
102
|
+
- lib/br_documents/documents/ie/ba/modulo_10.rb
|
103
|
+
- lib/br_documents/documents/ie/ba/modulo_11.rb
|
104
|
+
- lib/br_documents/documents/ie/base.rb
|
105
|
+
- lib/br_documents/documents/ie/ce.rb
|
106
|
+
- lib/br_documents/documents/ie/df.rb
|
107
|
+
- lib/br_documents/documents/ie/es.rb
|
108
|
+
- lib/br_documents/documents/ie/go.rb
|
109
|
+
- lib/br_documents/documents/ie/ma.rb
|
110
|
+
- lib/br_documents/documents/ie/mg.rb
|
111
|
+
- lib/br_documents/documents/ie/ms.rb
|
112
|
+
- lib/br_documents/documents/ie/mt.rb
|
113
|
+
- lib/br_documents/documents/ie/pa.rb
|
114
|
+
- lib/br_documents/documents/ie/pb.rb
|
115
|
+
- lib/br_documents/documents/ie/pe.rb
|
116
|
+
- lib/br_documents/documents/ie/pe/current.rb
|
117
|
+
- lib/br_documents/documents/ie/pe/legacy.rb
|
118
|
+
- lib/br_documents/documents/ie/pi.rb
|
119
|
+
- lib/br_documents/documents/ie/pr.rb
|
120
|
+
- lib/br_documents/documents/ie/rj.rb
|
121
|
+
- lib/br_documents/documents/ie/rn.rb
|
122
|
+
- lib/br_documents/documents/ie/ro.rb
|
123
|
+
- lib/br_documents/documents/ie/ro/current.rb
|
124
|
+
- lib/br_documents/documents/ie/ro/legacy.rb
|
125
|
+
- lib/br_documents/documents/ie/rr.rb
|
126
|
+
- lib/br_documents/documents/ie/rs.rb
|
127
|
+
- lib/br_documents/documents/ie/sc.rb
|
128
|
+
- lib/br_documents/documents/ie/se.rb
|
129
|
+
- lib/br_documents/documents/ie/sp.rb
|
130
|
+
- lib/br_documents/documents/ie/sp/industry.rb
|
131
|
+
- lib/br_documents/documents/ie/sp/rural.rb
|
132
|
+
- lib/br_documents/documents/ie/to.rb
|
91
133
|
- lib/br_documents/version.rb
|
92
134
|
- lib/brazilian_documents.rb
|
93
135
|
homepage: https://github.com/fidelisrafael/brazilian_documents
|