faker 2.1.1 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/lib/faker/default/id_number.rb +39 -2
- data/lib/faker/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7462443ac85163e4a2bfaaa60b52b0153d209004c68f498be7796bafdca56bb8
|
4
|
+
data.tar.gz: 83792726058a2a4bcae5a9e65faebd7b89271323b04c509c5e85a3ed3dcf87d7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13e01c3cf5c0f2f4813b4ebd5f47da32f5445234cb0bbc217e7b1b4836c8578b9e32bdafbafe68c9d9c8f85e2a14ec84a9fa13c3b611c3fa7f566b6bdf1176eb
|
7
|
+
data.tar.gz: d4ff9c657474b461ed8b4f54ec16e982ba805d3bc5fd815757bcfbb67b3823fba776ba004af140a1afb6d5424990f6819eda943a7b4bdfe24841713b9eb29f4c
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v2.1.2](https://github.com/stympy/faker-ruby/faker/tree/2.1.2) (2019-10-08)
|
4
|
+
|
5
|
+
## Enhancements
|
6
|
+
|
7
|
+
- [PR #1495](https://github.com/stympy/faker/pull/1495) Add Brazilian documents generation and documentation [@lucasqueiroz](https://github.com/lucasqueiroz)
|
8
|
+
|
9
|
+
## Issues
|
10
|
+
|
11
|
+
We had to use `bundled with 1.7.3` to avoid some issues.
|
12
|
+
|
3
13
|
## [v2.1.1](https://github.com/stympy/faker/tree/2.1.1) (2019-10-08)
|
4
14
|
|
5
15
|
## Bug/Fixes
|
@@ -12,6 +12,9 @@ module Faker
|
|
12
12
|
].freeze
|
13
13
|
ZA_RACE_DIGIT = '8'
|
14
14
|
ZA_CITIZENSHIP_DIGITS = %w[0 1].freeze
|
15
|
+
BRAZILIAN_ID_FORMAT = /(\d{1,2})(\d{3})(\d{3})([\dX])/
|
16
|
+
BRAZILIAN_ID_FROM = 10_000_000
|
17
|
+
BRAZILIAN_ID_TO = 99_999_999
|
15
18
|
|
16
19
|
class << self
|
17
20
|
def valid
|
@@ -83,6 +86,17 @@ module Faker
|
|
83
86
|
formatted ? format('%s.%s.%s-%s', *number.scan(/\d{2,3}/).flatten) : number
|
84
87
|
end
|
85
88
|
|
89
|
+
alias brazilian_cpf brazilian_citizen_number
|
90
|
+
|
91
|
+
def brazilian_id(formatted: false)
|
92
|
+
digits = Faker::Number.between(to: BRAZILIAN_ID_FROM, from: BRAZILIAN_ID_TO).to_s
|
93
|
+
check_digit = brazilian_id_checksum_digit(digits)
|
94
|
+
number = [digits, check_digit].join
|
95
|
+
formatted ? format('%s.%s.%s-%s', *number.scan(BRAZILIAN_ID_FORMAT).flatten) : number
|
96
|
+
end
|
97
|
+
|
98
|
+
alias brazilian_rg brazilian_id
|
99
|
+
|
86
100
|
private
|
87
101
|
|
88
102
|
def south_african_id_checksum_digit(id_number)
|
@@ -104,13 +118,36 @@ module Faker
|
|
104
118
|
end
|
105
119
|
|
106
120
|
def brazilian_citizen_number_checksum_digit(digits)
|
107
|
-
|
121
|
+
checksum = brazilian_document_checksum(digits)
|
122
|
+
brazilian_document_digit(checksum)
|
123
|
+
end
|
124
|
+
|
125
|
+
def brazilian_id_checksum_digit(digits)
|
126
|
+
checksum = brazilian_document_checksum(digits)
|
127
|
+
brazilian_document_digit(checksum, id: true)
|
128
|
+
end
|
129
|
+
|
130
|
+
def brazilian_document_checksum(digits)
|
131
|
+
digits.chars.each_with_index.inject(0) do |acc, (digit, i)|
|
108
132
|
acc + digit.to_i * (digits.size + 1 - i)
|
109
133
|
end * 10
|
110
|
-
|
134
|
+
end
|
135
|
+
|
136
|
+
def brazilian_document_digit(checksum, id = false)
|
137
|
+
remainder = checksum % 11
|
138
|
+
id ? brazilian_id_digit(remainder) : brazilian_citizen_number_digit(remainder)
|
139
|
+
end
|
140
|
+
|
141
|
+
def brazilian_citizen_number_digit(remainder)
|
111
142
|
remainder == 10 ? '0' : remainder.to_s
|
112
143
|
end
|
113
144
|
|
145
|
+
def brazilian_id_digit(remainder)
|
146
|
+
subtraction = 11 - remainder.to_i
|
147
|
+
digits = { 10 => 'X', 11 => '0' }
|
148
|
+
digits.include?(subtraction) ? digits[subtraction] : subtraction.to_s
|
149
|
+
end
|
150
|
+
|
114
151
|
def _translate(key)
|
115
152
|
parse("id_number.#{key}")
|
116
153
|
end
|
data/lib/faker/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Benjamin Curtis
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-08-
|
12
|
+
date: 2019-08-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: i18n
|