ffaker 2.21.0 → 2.22.0

Sign up to get free protection for your applications and to get access to all the features.
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