brazilian_forgery 1.2.4
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 +7 -0
- data/.gitignore +11 -0
- data/CODE_OF_CONDUCT.md +13 -0
- data/Gemfile +5 -0
- data/LICENSE +22 -0
- data/README.md +71 -0
- data/README.pt-BR.md +70 -0
- data/Rakefile +2 -0
- data/brazilian_forgery.gemspec +26 -0
- data/lib/brazilian_forgery.rb +9 -0
- data/lib/brazilian_forgery/api.rb +17 -0
- data/lib/brazilian_forgery/dictionaries/banks +126 -0
- data/lib/brazilian_forgery/dictionaries/cities +5295 -0
- data/lib/brazilian_forgery/dictionaries/female_first_names +1582 -0
- data/lib/brazilian_forgery/dictionaries/last_names +21987 -0
- data/lib/brazilian_forgery/dictionaries/male_first_names +1379 -0
- data/lib/brazilian_forgery/dictionaries/occupations +2557 -0
- data/lib/brazilian_forgery/dictionaries/state_abbrevs +27 -0
- data/lib/brazilian_forgery/dictionaries/states +27 -0
- data/lib/brazilian_forgery/dictionaries/streets +496 -0
- data/lib/brazilian_forgery/extensions/.keep +0 -0
- data/lib/brazilian_forgery/forgeries/bank.rb +42 -0
- data/lib/brazilian_forgery/forgeries/cnpj.rb +40 -0
- data/lib/brazilian_forgery/forgeries/cpf.rb +45 -0
- data/lib/brazilian_forgery/forgeries/occupation.rb +10 -0
- data/lib/brazilian_forgery/formats/phone +5 -0
- data/lib/brazilian_forgery/formats/zip +1 -0
- data/lib/brazilian_forgery/version.rb +3 -0
- metadata +116 -0
|
File without changes
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Generates random Brazilian Banks.
|
|
2
|
+
class BrazilianForgery::Bank < Forgery
|
|
3
|
+
# Generates a random bank code.
|
|
4
|
+
#
|
|
5
|
+
# Forgery(:bank).code
|
|
6
|
+
# # => '123'
|
|
7
|
+
def self.code
|
|
8
|
+
'%03d' % rand(999)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Generates a bank name.
|
|
12
|
+
#
|
|
13
|
+
# Forgery(:bank).name
|
|
14
|
+
# # => 'Bradesco'
|
|
15
|
+
def self.name
|
|
16
|
+
Forgery.dictionaries[:banks].random.unextend
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Generates a bank agency name.
|
|
20
|
+
#
|
|
21
|
+
# Forgery(:bank).agency_name
|
|
22
|
+
# # => 'São José dos Campos'
|
|
23
|
+
def self.agency_name
|
|
24
|
+
Forgery.dictionaries[:cities].random.unextend
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Generates a bank agency number.
|
|
28
|
+
#
|
|
29
|
+
# Forgery(:bank).agency_number
|
|
30
|
+
# # => '1234-3'
|
|
31
|
+
def self.agency_number
|
|
32
|
+
'%04d' % rand(9999) << '-' << '%01d' % rand(9)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Generates a bank account number.
|
|
36
|
+
#
|
|
37
|
+
# Forgery(:bank).account_number
|
|
38
|
+
# # => '1234567-3'
|
|
39
|
+
def self.account_number
|
|
40
|
+
'%06d' % rand(999999) << '-' << '%01d' % rand(9)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Generates random Brazilian CNPJ.
|
|
2
|
+
# Credits: https://raw.github.com/bernardo/cpf_faker/master/lib/faker/cnpj.rb
|
|
3
|
+
class BrazilianForgery::CNPJ < Forgery
|
|
4
|
+
# Generates a valid CNPJ number with numbers only. Returns a string, since it may have leading zeros.
|
|
5
|
+
#
|
|
6
|
+
# Forgery(:cnpj).numeric
|
|
7
|
+
# # => '57222068000132'
|
|
8
|
+
def self.numeric
|
|
9
|
+
cnpj_root = Array.new(12) { rand(10) }
|
|
10
|
+
|
|
11
|
+
# calculate first digit
|
|
12
|
+
factor = [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
|
|
13
|
+
|
|
14
|
+
sum = (0..11).inject(0) do |sum, i|
|
|
15
|
+
sum + cnpj_root[i] * factor[i]
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
first_validator = sum % 11
|
|
19
|
+
cnpj_root << first_validator = first_validator < 2 ? 0 : 11 - first_validator
|
|
20
|
+
|
|
21
|
+
# calculate second digit
|
|
22
|
+
factor.unshift 6
|
|
23
|
+
|
|
24
|
+
sum = (0..12).inject(0) do |sum, i|
|
|
25
|
+
sum + cnpj_root[i] * factor[i]
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
second_validator = sum % 11
|
|
29
|
+
(cnpj_root << second_validator = second_validator < 2 ? 0 : 11 - second_validator).join
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Generates a valid CNPJ number, including separators. Returns a string.
|
|
33
|
+
#
|
|
34
|
+
# Forgery(:cnpj).formatted
|
|
35
|
+
# # => '22.792.949/0001-04'
|
|
36
|
+
def self.formatted
|
|
37
|
+
cnpj = numeric.to_s.rjust(14, '0')
|
|
38
|
+
'%s.%s.%s/%s-%s' % [cnpj[0,2], cnpj[2,3], cnpj[5,3], cnpj[8,4], cnpj[12,2]]
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Generates random Brazilian CPF.
|
|
2
|
+
# Credits: https://raw.github.com/bernardo/cpf_faker/master/lib/faker/cpf.rb
|
|
3
|
+
|
|
4
|
+
class BrazilianForgery::CPF < Forgery
|
|
5
|
+
# Generates a valid CPF number with numbers only.
|
|
6
|
+
# Returns a String (since it might contain leading zeros).
|
|
7
|
+
#
|
|
8
|
+
# Forgery(:cpf).numeric
|
|
9
|
+
# # => '11438374798'
|
|
10
|
+
def self.numeric
|
|
11
|
+
cpf_root = Array.new(9) { rand(10) }
|
|
12
|
+
|
|
13
|
+
# calculate first digit
|
|
14
|
+
sum = (0..8).inject(0) do |sum, i|
|
|
15
|
+
sum + cpf_root[i] * (10 - i)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
first_validator = sum % 11
|
|
19
|
+
first_validator = first_validator < 2 ? 0 : 11 - first_validator
|
|
20
|
+
cpf_root << first_validator
|
|
21
|
+
|
|
22
|
+
# calculate second digit
|
|
23
|
+
sum = (0..8).inject(0) do |sum, i|
|
|
24
|
+
sum + cpf_root[i] * (11 - i)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
sum += first_validator * 2
|
|
28
|
+
|
|
29
|
+
second_validator = sum % 11
|
|
30
|
+
second_validator = second_validator < 2 ? 0 : 11 - second_validator
|
|
31
|
+
(cpf_root << second_validator).join
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Generates a valid CPF number with numbers and separators. Returns a String.
|
|
35
|
+
#
|
|
36
|
+
# Forgery(:cpf).formated
|
|
37
|
+
# # => '059.893.186-42'
|
|
38
|
+
def self.formatted
|
|
39
|
+
cpf_digits = numeric
|
|
40
|
+
'%s.%s.%s-%s' % [cpf_digits[0..2],
|
|
41
|
+
cpf_digits[3..5],
|
|
42
|
+
cpf_digits[6..8],
|
|
43
|
+
cpf_digits[9..10]]
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Generates random Brazilian Occupations from IBGE.
|
|
2
|
+
class BrazilianForgery::Occupation < Forgery
|
|
3
|
+
# Generates a valid occupation name.
|
|
4
|
+
#
|
|
5
|
+
# Forgery(:occupation).name
|
|
6
|
+
# # => "Engenheiro Aeronáutico"
|
|
7
|
+
def self.name
|
|
8
|
+
Forgery.dictionaries[:occupations].random.unextend
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#####-###
|
metadata
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: brazilian_forgery
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 1.2.4
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Felipe Fontoura
|
|
8
|
+
- Bruno Casali
|
|
9
|
+
autorequire:
|
|
10
|
+
bindir: exe
|
|
11
|
+
cert_chain: []
|
|
12
|
+
date: 2015-07-04 00:00:00.000000000 Z
|
|
13
|
+
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: bundler
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
requirements:
|
|
18
|
+
- - "~>"
|
|
19
|
+
- !ruby/object:Gem::Version
|
|
20
|
+
version: '1.8'
|
|
21
|
+
type: :development
|
|
22
|
+
prerelease: false
|
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
24
|
+
requirements:
|
|
25
|
+
- - "~>"
|
|
26
|
+
- !ruby/object:Gem::Version
|
|
27
|
+
version: '1.8'
|
|
28
|
+
- !ruby/object:Gem::Dependency
|
|
29
|
+
name: rake
|
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
|
31
|
+
requirements:
|
|
32
|
+
- - "~>"
|
|
33
|
+
- !ruby/object:Gem::Version
|
|
34
|
+
version: '10.0'
|
|
35
|
+
type: :development
|
|
36
|
+
prerelease: false
|
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
38
|
+
requirements:
|
|
39
|
+
- - "~>"
|
|
40
|
+
- !ruby/object:Gem::Version
|
|
41
|
+
version: '10.0'
|
|
42
|
+
- !ruby/object:Gem::Dependency
|
|
43
|
+
name: forgery
|
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
|
45
|
+
requirements:
|
|
46
|
+
- - ">="
|
|
47
|
+
- !ruby/object:Gem::Version
|
|
48
|
+
version: '0'
|
|
49
|
+
type: :development
|
|
50
|
+
prerelease: false
|
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
52
|
+
requirements:
|
|
53
|
+
- - ">="
|
|
54
|
+
- !ruby/object:Gem::Version
|
|
55
|
+
version: '0'
|
|
56
|
+
description: Forgery extension with a tons of Brazilian things like names, cities,
|
|
57
|
+
...
|
|
58
|
+
email:
|
|
59
|
+
- felipe@internetsistemas.com.br
|
|
60
|
+
- brunoocasali@gmail.com
|
|
61
|
+
executables: []
|
|
62
|
+
extensions: []
|
|
63
|
+
extra_rdoc_files: []
|
|
64
|
+
files:
|
|
65
|
+
- ".gitignore"
|
|
66
|
+
- CODE_OF_CONDUCT.md
|
|
67
|
+
- Gemfile
|
|
68
|
+
- LICENSE
|
|
69
|
+
- README.md
|
|
70
|
+
- README.pt-BR.md
|
|
71
|
+
- Rakefile
|
|
72
|
+
- brazilian_forgery.gemspec
|
|
73
|
+
- lib/brazilian_forgery.rb
|
|
74
|
+
- lib/brazilian_forgery/api.rb
|
|
75
|
+
- lib/brazilian_forgery/dictionaries/banks
|
|
76
|
+
- lib/brazilian_forgery/dictionaries/cities
|
|
77
|
+
- lib/brazilian_forgery/dictionaries/female_first_names
|
|
78
|
+
- lib/brazilian_forgery/dictionaries/last_names
|
|
79
|
+
- lib/brazilian_forgery/dictionaries/male_first_names
|
|
80
|
+
- lib/brazilian_forgery/dictionaries/occupations
|
|
81
|
+
- lib/brazilian_forgery/dictionaries/state_abbrevs
|
|
82
|
+
- lib/brazilian_forgery/dictionaries/states
|
|
83
|
+
- lib/brazilian_forgery/dictionaries/streets
|
|
84
|
+
- lib/brazilian_forgery/extensions/.keep
|
|
85
|
+
- lib/brazilian_forgery/forgeries/bank.rb
|
|
86
|
+
- lib/brazilian_forgery/forgeries/cnpj.rb
|
|
87
|
+
- lib/brazilian_forgery/forgeries/cpf.rb
|
|
88
|
+
- lib/brazilian_forgery/forgeries/occupation.rb
|
|
89
|
+
- lib/brazilian_forgery/formats/phone
|
|
90
|
+
- lib/brazilian_forgery/formats/zip
|
|
91
|
+
- lib/brazilian_forgery/version.rb
|
|
92
|
+
homepage:
|
|
93
|
+
licenses:
|
|
94
|
+
- MIT
|
|
95
|
+
metadata: {}
|
|
96
|
+
post_install_message:
|
|
97
|
+
rdoc_options: []
|
|
98
|
+
require_paths:
|
|
99
|
+
- lib
|
|
100
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
101
|
+
requirements:
|
|
102
|
+
- - ">="
|
|
103
|
+
- !ruby/object:Gem::Version
|
|
104
|
+
version: 2.0.0
|
|
105
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - ">="
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: 1.3.6
|
|
110
|
+
requirements: []
|
|
111
|
+
rubyforge_project:
|
|
112
|
+
rubygems_version: 2.4.5
|
|
113
|
+
signing_key:
|
|
114
|
+
specification_version: 4
|
|
115
|
+
summary: A Brazilian Forgery gem extension
|
|
116
|
+
test_files: []
|