ffaker 2.21.0 → 2.22.0

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.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +11 -0
  3. data/README.md +15 -4
  4. data/REFERENCE.md +316 -290
  5. data/Rakefile +9 -40
  6. data/bin/console +9 -0
  7. data/ffaker.gemspec +9 -19
  8. data/lib/ffaker/address_ua.rb +1 -1
  9. data/lib/ffaker/book.rb +5 -5
  10. data/lib/ffaker/code.rb +1 -1
  11. data/lib/ffaker/company.rb +1 -1
  12. data/lib/ffaker/company_fr.rb +1 -1
  13. data/lib/ffaker/data/address_de/state +1 -0
  14. data/lib/ffaker/data/jo_jo/first_names +356 -0
  15. data/lib/ffaker/data/jo_jo/full_names +225 -0
  16. data/lib/ffaker/data/jo_jo/last_names +153 -0
  17. data/lib/ffaker/data/jo_jo/stands +149 -0
  18. data/lib/ffaker/date.rb +31 -0
  19. data/lib/ffaker/geolocation.rb +2 -2
  20. data/lib/ffaker/identification_br.rb +1 -1
  21. data/lib/ffaker/identification_ec.rb +39 -0
  22. data/lib/ffaker/identification_es_cl.rb +2 -2
  23. data/lib/ffaker/identification_es_co.rb +1 -1
  24. data/lib/ffaker/identification_kr.rb +3 -3
  25. data/lib/ffaker/identification_pl.rb +4 -4
  26. data/lib/ffaker/identification_tw.rb +1 -1
  27. data/lib/ffaker/jo_jo.rb +24 -0
  28. data/lib/ffaker/name_pl.rb +1 -1
  29. data/lib/ffaker/number.rb +2 -2
  30. data/lib/ffaker/ssn_se.rb +2 -2
  31. data/lib/ffaker/string.rb +1 -1
  32. data/lib/ffaker/time.rb +3 -3
  33. data/lib/ffaker/utils/module_utils.rb +4 -5
  34. data/lib/ffaker/utils/unique_utils.rb +29 -21
  35. data/lib/ffaker/vehicle.rb +2 -2
  36. data/lib/{version.rb → ffaker/version.rb} +1 -1
  37. data/lib/ffaker.rb +7 -4
  38. data/test/helper.rb +2 -4
  39. data/test/test_address_da.rb +3 -3
  40. data/test/test_address_fi.rb +2 -2
  41. data/test/test_address_se.rb +2 -2
  42. data/test/test_cheesy_lingo.rb +1 -1
  43. data/test/test_color.rb +3 -3
  44. data/test/test_date.rb +37 -0
  45. data/test/test_filesystem.rb +3 -3
  46. data/test/test_freedom_ipsum.rb +1 -1
  47. data/test/test_gender_it.rb +1 -1
  48. data/test/test_gender_ja.rb +1 -1
  49. data/test/test_gender_jp.rb +1 -1
  50. data/test/test_gender_pl.rb +1 -1
  51. data/test/test_healthcare_ru.rb +1 -1
  52. data/test/test_hipster_ipsum.rb +1 -1
  53. data/test/test_html_ipsum.rb +2 -2
  54. data/test/test_identification_ec.rb +33 -0
  55. data/test/test_identification_es_mx.rb +1 -1
  56. data/test/test_internet_se.rb +2 -1
  57. data/test/test_jo_jo.rb +29 -0
  58. data/test/test_lorem_br.rb +1 -1
  59. data/test/test_lorem_cn.rb +3 -3
  60. data/test/test_lorem_fr.rb +3 -3
  61. data/test/test_lorem_ie.rb +2 -2
  62. data/test/test_lorem_kr.rb +3 -3
  63. data/test/test_lorem_pl.rb +2 -2
  64. data/test/test_lorem_ru.rb +3 -3
  65. data/test/test_lorem_ua.rb +3 -3
  66. data/test/test_module_utils.rb +33 -0
  67. data/test/test_name_da.rb +1 -1
  68. data/test/test_name_ph.rb +1 -1
  69. data/test/test_name_ru.rb +2 -2
  70. data/test/test_name_ua.rb +2 -2
  71. data/test/test_phone_number_se.rb +1 -1
  72. data/test/test_phone_number_sg.rb +8 -8
  73. data/test/test_unique_utils.rb +25 -5
  74. data/test/test_vehicle.rb +22 -0
  75. metadata +19 -198
data/Rakefile CHANGED
@@ -34,7 +34,7 @@ def name
34
34
  end
35
35
 
36
36
  def version
37
- line = File.read("lib/#{name}.rb")[/^\s*VERSION\s*=\s*.*/]
37
+ line = File.read("lib/#{name}/version.rb")[/^\s*VERSION\s*=\s*.*/]
38
38
  line.match(/.*VERSION\s*=\s*['"](.*)['"]/)[1]
39
39
  end
40
40
 
@@ -50,10 +50,6 @@ def gem_file
50
50
  "#{name}-#{version}.gem"
51
51
  end
52
52
 
53
- def replace_header(head, header_name)
54
- head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{Regexp.last_match(1)}#{send(header_name)}'" }
55
- end
56
-
57
53
  #############################################################################
58
54
  #
59
55
  # Standard tasks
@@ -102,51 +98,24 @@ task release: :build do
102
98
  sh "gem push pkg/#{name}-#{version}.gem"
103
99
  end
104
100
 
105
- task build: %i[gemspec reference] do
101
+ task build: %i[validate reference] do
106
102
  sh 'mkdir -p pkg'
107
- sh "gem build #{gemspec_file}"
108
- sh "mv #{gem_file} pkg"
109
- end
110
-
111
- task gemspec: :validate do
112
- # read spec file and split out manifest section
113
- spec = File.read(gemspec_file)
114
- head, manifest, tail = spec.split(" # = MANIFEST =\n")
115
-
116
- # replace name version and date
117
- replace_header(head, :name)
118
- replace_header(head, :version)
119
- replace_header(head, :date)
120
-
121
- # determine file list from git ls-files
122
- files = `git ls-files`
123
- .split("\n")
124
- .sort
125
- .reject { |file| file =~ /^\./ }
126
- .reject { |file| file =~ /^(rdoc|pkg)/ }
127
- .map { |file| " #{file}" }
128
- .join("\n")
129
-
130
- # piece file back together and write
131
- manifest = " s.files = %w[\n#{files}\n ]\n"
132
- spec = [head, manifest, tail].join(" # = MANIFEST =\n")
133
- File.open(gemspec_file, 'w') { |io| io.write(spec) }
134
- puts "Updated #{gemspec_file}"
103
+ sh "gem build #{gemspec_file} --output=pkg/#{gem_file}"
135
104
  end
136
105
 
137
106
  task :validate do
138
107
  libfiles = Dir['lib/*'] - ["lib/#{name}.rb", "lib/#{name}"]
139
108
  unless libfiles.empty?
140
- puts "Directory `lib` should only contain a `#{name}.rb` file and `#{name}` dir."
141
- exit!
142
- end
143
- unless Dir['VERSION*'].empty?
144
- puts 'A `VERSION` file at root level violates Gem best practices.'
109
+ puts "Directory `lib` should only contain a `#{name}.rb` file and `#{name}` dir. Found:"
110
+ libfiles.each do |libfile|
111
+ puts "- #{libfile}"
112
+ end
113
+
145
114
  exit!
146
115
  end
147
116
  end
148
117
 
149
118
  desc 'Creates REFERENCE.md'
150
119
  task :reference do
151
- system 'ruby ./scripts/reference.rb > REFERENCE.md'
120
+ system 'ruby -Ilib ./scripts/reference.rb > REFERENCE.md'
152
121
  end
data/bin/console ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'bundler/setup'
5
+ require 'irb'
6
+
7
+ require_relative '../lib/ffaker'
8
+
9
+ IRB.start
data/ffaker.gemspec CHANGED
@@ -1,15 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'lib/version'
3
+ require_relative 'lib/ffaker/version'
4
4
 
5
5
  Gem::Specification.new do |s|
6
- s.specification_version = 2 if s.respond_to? :specification_version=
7
6
  s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
8
- s.rubygems_version = '1.3.5'
9
7
 
10
8
  s.name = 'ffaker'
11
9
  s.version = FFaker::VERSION
12
- s.required_ruby_version = '>= 2.5'
10
+ s.required_ruby_version = '>= 3.0'
13
11
 
14
12
  s.license = 'MIT'
15
13
 
@@ -28,24 +26,16 @@ Gem::Specification.new do |s|
28
26
  s.rdoc_options = ['--charset=UTF-8']
29
27
  s.extra_rdoc_files = %w[README.md LICENSE Changelog.md]
30
28
 
31
- # = MANIFEST =
32
- s.files = %w[
33
- Changelog.md
34
- Gemfile
35
- LICENSE
36
- RANDOM.md
37
- README.md
38
- REFERENCE.md
39
- Rakefile
40
- ffaker.gemspec
41
- ] + Dir['lib/**/*', 'scripts/*']
42
- # = MANIFEST =
43
-
44
- s.test_files = Dir['test/**/*']
29
+ s.files = `git ls-files`
30
+ .split("\n")
31
+ .sort
32
+ .reject { |file| file =~ /^\./ }
33
+ .reject { |file| file =~ /^(rdoc|pkg)/ }
45
34
 
46
35
  s.metadata = {
47
36
  'changelog_uri' => 'https://github.com/ffaker/ffaker/blob/main/Changelog.md',
48
- 'documentation_uri' => 'https://github.com/ffaker/ffaker/blob/main/REFERENCE.md'
37
+ 'documentation_uri' => 'https://github.com/ffaker/ffaker/blob/main/REFERENCE.md',
38
+ 'rubygems_mfa_required' => 'true'
49
39
  }
50
40
 
51
41
  s.add_development_dependency 'rake', '~> 13.0'
@@ -49,7 +49,7 @@ module FFaker
49
49
  if allow_first_zero
50
50
  FFaker.numerify(masks_arr)
51
51
  else
52
- fetch_sample(masks_arr).sub(/#/) { rand(1..9).to_s }.gsub(/#/) { rand(0..9).to_s }
52
+ fetch_sample(masks_arr).sub('#') { rand(1..9).to_s }.gsub('#') { rand(0..9).to_s }
53
53
  end
54
54
  end
55
55
  end
data/lib/ffaker/book.rb CHANGED
@@ -35,11 +35,11 @@ module FFaker
35
35
  end
36
36
 
37
37
  def orly_cover(name = title, book_author = author, top_text = genre)
38
- 'https://orly-appstore.herokuapp.com/generate?'\
39
- "title=#{CGI.escape(name)}&"\
40
- "top_text=#{CGI.escape(top_text)}&"\
41
- "author=#{CGI.escape(book_author)}&"\
42
- "image_code=#{Random.rand(1..40)}&"\
38
+ 'https://orly-appstore.herokuapp.com/generate?' \
39
+ "title=#{CGI.escape(name)}&" \
40
+ "top_text=#{CGI.escape(top_text)}&" \
41
+ "author=#{CGI.escape(book_author)}&" \
42
+ "image_code=#{Random.rand(1..40)}&" \
43
43
  "theme=#{Random.rand(1..16)}"
44
44
  end
45
45
 
data/lib/ffaker/code.rb CHANGED
@@ -17,7 +17,7 @@ module FFaker
17
17
  .chars
18
18
  .inject(0) { |sum, digit| sum + digit.to_i }
19
19
 
20
- npi_checksum = (10 - (24 + summed_digits) % 10).to_s.chars.last
20
+ npi_checksum = (10 - ((24 + summed_digits) % 10)).to_s.chars.last
21
21
 
22
22
  base_npi + npi_checksum
23
23
  end
@@ -5,7 +5,7 @@ module FFaker
5
5
  extend ModuleUtils
6
6
  extend self
7
7
 
8
- SUFFIXES = %w[Inc and\ Sons LLC Group].freeze
8
+ SUFFIXES = ['Inc', 'and Sons', 'LLC', 'Group'].freeze
9
9
  POSITION_PREFIXES = %w[Executive Assistant General Associate].freeze
10
10
  POSITIONS = %w[President Manager Director Secretary Consultant].freeze
11
11
 
@@ -5,7 +5,7 @@ module FFaker
5
5
  extend ModuleUtils
6
6
  extend self
7
7
 
8
- SUFFIXES = %w[SA et\ fils SARL Groupe].freeze
8
+ SUFFIXES = ['SA', 'et fils', 'SARL', 'Groupe'].freeze
9
9
 
10
10
  def name
11
11
  case rand(0..2)
@@ -11,5 +11,6 @@ Nordrhein-Westfalen
11
11
  Rheinland-Pfalz
12
12
  Saarland
13
13
  Sachsen
14
+ Sachsen-Anhalt
14
15
  Schleswig-Holstein
15
16
  Thueringen
@@ -0,0 +1,356 @@
1
+ Jonathan
2
+ Will
3
+ Robert
4
+ Dio
5
+ Erina
6
+ George
7
+ Poco
8
+ Tonpetty
9
+ Dire
10
+ Straizo
11
+ Bruford
12
+ Tarkus
13
+ Wang
14
+ Jack
15
+ Adams
16
+ Doobie
17
+ Pag
18
+ Jone
19
+ Plan
20
+ Bornnam
21
+ Dario
22
+ Danny
23
+ Tattoo
24
+ Father
25
+ Lisa
26
+ Mary
27
+ Winzaleo
28
+ Eijkman
29
+ Caineghis
30
+ Mark
31
+ Darnley
32
+ Harry
33
+ Jeff
34
+ Dan
35
+ Joseph
36
+ Caesar
37
+ Rudol
38
+ Messina
39
+ Loggins
40
+ Smokey
41
+ Suzi
42
+ Kars
43
+ Esidisi
44
+ Wamuu
45
+ Santana
46
+ Donovan
47
+ Wired
48
+ Mario
49
+ Bruto
50
+ Adolf
51
+ Jotaro
52
+ Muhammad
53
+ Noriaki
54
+ Jean
55
+ Iggy
56
+ Holy
57
+ Roses
58
+ Anne
59
+ Enya
60
+ Vanilla
61
+ Hol
62
+ Pet
63
+ Telence
64
+ Daniel
65
+ Mariah
66
+ Alessi
67
+ Oingo
68
+ Boingo
69
+ Anubis
70
+ Kenny
71
+ Nukesaku
72
+ Devo
73
+ Rubber
74
+ Nena
75
+ ZZ
76
+ Steely
77
+ Cameo
78
+ Midler
79
+ Chaka
80
+ Khan
81
+ Malena
82
+ Wilson
83
+ Sherry
84
+ Sadao
85
+ Pocky
86
+ Princ
87
+ Michael
88
+ Lionel
89
+ Caravan
90
+ Garie
91
+ Stephen
92
+ Christian
93
+ Shozo
94
+ Chibi
95
+ Buchi
96
+ Sonia
97
+ Elliot
98
+ Tatsuhiko
99
+ Josuke
100
+ Koichi
101
+ Okuyasu
102
+ Rohan
103
+ Hayato
104
+ Reimi
105
+ Shigekiyo
106
+ Mikitaka
107
+ Yuya
108
+ Yukako
109
+ Tamami
110
+ Toshikazu
111
+ Tonio
112
+ Aya
113
+ Shizuka
114
+ Arnold
115
+ Yoshikage
116
+ Yoshihiro
117
+ Akira
118
+ Anjuro
119
+ Keicho
120
+ Ken
121
+ Toyohiro
122
+ Terunosuke
123
+ Masazo
124
+ Tama
125
+ Tomoko
126
+ Ryohei
127
+ Ayana
128
+ Mukade
129
+ Kosaku
130
+ Shinobu
131
+ Akemi
132
+ Yoshie
133
+ Reiko
134
+ Minako
135
+ Satoru
136
+ Police
137
+ Junko
138
+ Masaji
139
+ Sachiko
140
+ Takashi
141
+ Kazuko
142
+ Gonta
143
+ Ichiro
144
+ Yoshioka
145
+ Minayo
146
+ Mika
147
+ Hiroshi
148
+ Rio
149
+ Kai
150
+ Sakai
151
+ Asuka
152
+ Rika
153
+ Masaya
154
+ Hirata
155
+ Giorno
156
+ Bruno
157
+ Leone
158
+ Guido
159
+ Narancia
160
+ Pannacotta
161
+ Trish
162
+ Coco
163
+ Pericolo
164
+ Diavolo
165
+ Vinegar
166
+ Cioccolata
167
+ Secco
168
+ Squalo
169
+ Tizzano
170
+ Carne
171
+ Luca
172
+ Polpo
173
+ Sale
174
+ Risotto
175
+ Formaggio
176
+ Illuso
177
+ Prosciutto
178
+ Pesci
179
+ Melone
180
+ Ghiaccio
181
+ Sorbet
182
+ Gelato
183
+ Scolippi
184
+ Paolo
185
+ Donatella
186
+ Anita
187
+ Antonio
188
+ Mela
189
+ Benedict
190
+ Monica
191
+ 'Jolyne
192
+ Ermes
193
+ Emporio
194
+ Foo
195
+ Wes
196
+ Narciso
197
+ Gwess
198
+ Savage
199
+ Enrico
200
+ Donatello
201
+ Rikiel
202
+ Ungalo
203
+ Johngalli
204
+ Sports
205
+ Thunder
206
+ Miraschon
207
+ Lang
208
+ Viviano
209
+ Kenzou
210
+ Guccio
211
+ Miuccia
212
+ Corrupt
213
+ Rod
214
+ Romeo
215
+ Loccobarocco
216
+ Atroe
217
+ Sonny
218
+ Gloria
219
+ Perla
220
+ Irene
221
+ Anakiss
222
+ Sharon
223
+ David
224
+ Ron
225
+ Johnny
226
+ Gyro
227
+ Lucy
228
+ Diego
229
+ Hot
230
+ Steven
231
+ Mountain
232
+ Wekapipo
233
+ Pocoloco
234
+ Norisuke
235
+ Funny
236
+ Mike
237
+ Ringo
238
+ Axl
239
+ Magent
240
+ Sandman
241
+ Oyecomova
242
+ Benjamin
243
+ Andre
244
+ Fritz
245
+ Scarlet
246
+ Sugar
247
+ Jesus
248
+ Gregorio
249
+ Nicholas
250
+ Rina
251
+ Marco
252
+ Urmd
253
+ Dot
254
+ Baron
255
+ Gaucho
256
+ Paul
257
+ Dixie
258
+ Zenyatta
259
+ Baba
260
+ Nellyville
261
+ John
262
+ Billy
263
+ Iglesias
264
+ Mack
265
+ Nightfly
266
+ Kanye
267
+ Shigechi
268
+ Georgie
269
+ Adam
270
+ Silas
271
+ Alice
272
+ Yasuho
273
+ Rai
274
+ Jobin
275
+ Tsurugi
276
+ Joshu
277
+ Kei
278
+ Hato
279
+ Daiya
280
+ Mitsuba
281
+ Kaato
282
+ Karera
283
+ Josefumi
284
+ Toru
285
+ Tamaki
286
+ Yotsuyu
287
+ Aisho
288
+ Dolomite
289
+ Urban
290
+ Doremifasolati
291
+ Wu
292
+ Dododo
293
+ Obladi
294
+ Radio
295
+ Hair
296
+ Ojiro
297
+ Maako
298
+ Suzuyo
299
+ Iwasuke
300
+ Kiyomi
301
+ Taoka
302
+ Elizabeth
303
+ Yoshiteru
304
+ Teru
305
+ Toyoko
306
+ Sadafumi
307
+ Atsunori
308
+ Zaihei
309
+ Rena
310
+ Miko
311
+ Mina
312
+ Kyoka
313
+ Bakin
314
+ Minoru
315
+ Naoko
316
+ Gunpei
317
+ Nanase
318
+ Nizaemon
319
+ Noguchi
320
+ Gaucher
321
+ Pierre
322
+ Ikkyu
323
+ Noboru
324
+ Haruko
325
+ Aki
326
+ Takeru
327
+ Mitsu
328
+ Moon
329
+ Mai
330
+ Mao
331
+ Obanazawa
332
+ Yoma
333
+ Eve
334
+ Mitsuki
335
+ Hosho
336
+ Shuichi
337
+ Kiriko
338
+ Frida
339
+ Virgina
340
+ Sakuzo
341
+ Mamoru
342
+ Seizo
343
+ Sae
344
+ Kentaro
345
+ Kayo
346
+ Tsukiji
347
+ Yoshigoro
348
+ Yamato
349
+ Miwa
350
+ Akiko
351
+ Tomoya
352
+ Deliveryman
353
+ Hermes
354
+ Batsudera
355
+ Mu
356
+ Emma