faker 2.23.0 → 3.0.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +83 -29
- data/History.md +1 -1
- data/README.md +10 -5
- data/lib/faker/books/dune.rb +2 -10
- data/lib/faker/books/lovecraft.rb +7 -38
- data/lib/faker/default/address.rb +5 -25
- data/lib/faker/default/alphanumeric.rb +2 -8
- data/lib/faker/default/app.rb +1 -10
- data/lib/faker/default/avatar.rb +1 -12
- data/lib/faker/default/bank.rb +5 -13
- data/lib/faker/default/boolean.rb +1 -4
- data/lib/faker/default/chile_rut.rb +2 -12
- data/lib/faker/default/code.rb +3 -16
- data/lib/faker/default/color.rb +77 -6
- data/lib/faker/default/commerce.rb +3 -17
- data/lib/faker/default/company.rb +2 -10
- data/lib/faker/default/crypto_coin.rb +3 -15
- data/lib/faker/default/date.rb +5 -38
- data/lib/faker/default/demographic.rb +1 -5
- data/lib/faker/default/driving_licence.rb +1 -11
- data/lib/faker/default/file.rb +2 -21
- data/lib/faker/default/fillmurray.rb +1 -10
- data/lib/faker/default/finance.rb +1 -5
- data/lib/faker/default/hipster.rb +6 -45
- data/lib/faker/default/id_number.rb +2 -10
- data/lib/faker/default/internet.rb +11 -69
- data/lib/faker/default/invoice.rb +3 -16
- data/lib/faker/default/json.rb +2 -20
- data/lib/faker/default/lorem.rb +9 -66
- data/lib/faker/default/lorem_flickr.rb +4 -32
- data/lib/faker/default/lorem_pixel.rb +4 -10
- data/lib/faker/default/markdown.rb +1 -6
- data/lib/faker/default/measurement.rb +8 -40
- data/lib/faker/default/name.rb +1 -5
- data/lib/faker/default/nhs.rb +1 -5
- data/lib/faker/default/number.rb +10 -55
- data/lib/faker/default/omniauth.rb +5 -39
- data/lib/faker/default/phone_number.rb +1 -5
- data/lib/faker/default/placeholdit.rb +1 -12
- data/lib/faker/default/relationship.rb +1 -5
- data/lib/faker/default/source.rb +3 -16
- data/lib/faker/default/string.rb +1 -5
- data/lib/faker/default/stripe.rb +4 -20
- data/lib/faker/default/time.rb +4 -32
- data/lib/faker/default/twitter.rb +3 -17
- data/lib/faker/default/types.rb +5 -27
- data/lib/faker/default/vehicle.rb +4 -17
- data/lib/faker/default/world_cup.rb +2 -11
- data/lib/faker/games/dota.rb +1 -5
- data/lib/faker/games/tarkov.rb +205 -0
- data/lib/faker/movies/hackers.rb +48 -0
- data/lib/faker/movies/star_wars.rb +1 -5
- data/lib/faker/version.rb +1 -1
- data/lib/faker.rb +0 -53
- data/lib/locales/en/hackers.yml +53 -0
- data/lib/locales/en/heroes.yml +2 -2
- data/lib/locales/en/opera.yml +1 -1
- data/lib/locales/en/overwatch.yml +5 -7
- data/lib/locales/en/source.yml +5 -0
- data/lib/locales/en/sport.yml +17 -8
- data/lib/locales/en/tarkov.yml +593 -0
- data/lib/locales/en-CA.yml +1 -0
- data/lib/locales/es-AR.yml +2 -2
- data/lib/locales/fi-FI.yml +2 -1
- data/lib/locales/fr/ancient.yml +141 -0
- data/lib/locales/hy.yml +1 -1
- data/lib/locales/th.yml +76 -76
- metadata +44 -16
@@ -29,12 +29,7 @@ module Faker
|
|
29
29
|
# Faker::Internet.email(name: 'smith') #=> "smith@faker.com"
|
30
30
|
# Faker::Internet.email(name: 'sam smith', separators: ['-']) #=> "sam-smith@faker.com"
|
31
31
|
# Faker::Internet.email(name: 'sam smith', separators: ['-'], domain: 'gmail') #=> "sam-smith@gmail.com"
|
32
|
-
def email(
|
33
|
-
warn_for_deprecated_arguments do |keywords|
|
34
|
-
keywords << :name if legacy_name != NOT_GIVEN
|
35
|
-
keywords << :separators if legacy_separators != NOT_GIVEN
|
36
|
-
end
|
37
|
-
|
32
|
+
def email(name: nil, separators: nil, domain: nil)
|
38
33
|
local_part = if separators
|
39
34
|
username(specifier: name, separators: separators)
|
40
35
|
else
|
@@ -55,11 +50,7 @@ module Faker
|
|
55
50
|
# @example
|
56
51
|
# Faker::Internet.free_email #=> "samsmith@gmail.com"
|
57
52
|
# Faker::Internet.free_email(name: 'smith') #=> "smith@yahoo.com"
|
58
|
-
def free_email(
|
59
|
-
warn_for_deprecated_arguments do |keywords|
|
60
|
-
keywords << :name if legacy_name != NOT_GIVEN
|
61
|
-
end
|
62
|
-
|
53
|
+
def free_email(name: nil)
|
63
54
|
construct_email(
|
64
55
|
sanitize_email_local_part(username(specifier: name)),
|
65
56
|
fetch('internet.free_email')
|
@@ -76,11 +67,7 @@ module Faker
|
|
76
67
|
# @example
|
77
68
|
# Faker::Internet.safe_email #=> "samsmith@example.com"
|
78
69
|
# Faker::Internet.safe_email(name: 'smith') #=> "smith@example.net"
|
79
|
-
def safe_email(
|
80
|
-
warn_for_deprecated_arguments do |keywords|
|
81
|
-
keywords << :name if legacy_name != NOT_GIVEN
|
82
|
-
end
|
83
|
-
|
70
|
+
def safe_email(name: nil)
|
84
71
|
construct_email(
|
85
72
|
sanitize_email_local_part(username(specifier: name)),
|
86
73
|
"example.#{sample(%w[org com net])}"
|
@@ -100,12 +87,7 @@ module Faker
|
|
100
87
|
# Faker::Internet.username(specifier: 5..10) #=> "morris"
|
101
88
|
# Faker::Internet.username(specifier: 5..10) #=> "berryberry"
|
102
89
|
# Faker::Internet.username(specifier: 20, separators: ['-']) #=> "nikki_sawaynnikki_saway"
|
103
|
-
def username(
|
104
|
-
warn_for_deprecated_arguments do |keywords|
|
105
|
-
keywords << :specifier if legacy_specifier != NOT_GIVEN
|
106
|
-
keywords << :separators if legacy_separators != NOT_GIVEN
|
107
|
-
end
|
108
|
-
|
90
|
+
def username(specifier: nil, separators: %w[. _])
|
109
91
|
with_locale(:en) do
|
110
92
|
return shuffle(specifier.scan(/[[:word:]]+/)).join(sample(separators)).downcase if specifier.respond_to?(:scan)
|
111
93
|
|
@@ -142,8 +124,6 @@ module Faker
|
|
142
124
|
end
|
143
125
|
end
|
144
126
|
|
145
|
-
# rubocop:disable Metrics/ParameterLists
|
146
|
-
|
147
127
|
##
|
148
128
|
# Produces a randomized string of characters suitable for passwords
|
149
129
|
#
|
@@ -166,14 +146,7 @@ module Faker
|
|
166
146
|
# Faker::Internet.password(min_length: 10, max_length: 20, mix_case: true, special_characters: true) #=> "*%NkOnJsH4"
|
167
147
|
#
|
168
148
|
# @faker.version 2.1.3
|
169
|
-
def password(
|
170
|
-
warn_for_deprecated_arguments do |keywords|
|
171
|
-
keywords << :min_length if legacy_min_length != NOT_GIVEN
|
172
|
-
keywords << :max_length if legacy_max_length != NOT_GIVEN
|
173
|
-
keywords << :mix_case if legacy_mix_case != NOT_GIVEN
|
174
|
-
keywords << :special_characters if legacy_special_characters != NOT_GIVEN
|
175
|
-
end
|
176
|
-
|
149
|
+
def password(min_length: 8, max_length: 16, mix_case: true, special_characters: false)
|
177
150
|
raise ArgumentError, 'Password of length 1 can not have both mixed case and special characters' if min_length <= 1 && mix_case && special_characters
|
178
151
|
|
179
152
|
min_alpha = mix_case && min_length > 1 ? 2 : 0
|
@@ -206,7 +179,6 @@ module Faker
|
|
206
179
|
|
207
180
|
temp
|
208
181
|
end
|
209
|
-
# rubocop:enable Metrics/ParameterLists
|
210
182
|
|
211
183
|
##
|
212
184
|
# Returns the domain name
|
@@ -221,11 +193,7 @@ module Faker
|
|
221
193
|
# Faker::Internet.domain_name(subdomain: true) #=> "test.faker.io"
|
222
194
|
# Faker::Internet.domain_name(subdomain: true, domain: 'example') #=> "faker.example.com"
|
223
195
|
# Faker::Internet.domain_name(domain: 'faker') #=> "faker.org"
|
224
|
-
def domain_name(
|
225
|
-
warn_for_deprecated_arguments do |keywords|
|
226
|
-
keywords << :subdomain if legacy_subdomain != NOT_GIVEN
|
227
|
-
end
|
228
|
-
|
196
|
+
def domain_name(subdomain: false, domain: nil)
|
229
197
|
with_locale(:en) do
|
230
198
|
if domain
|
231
199
|
domain
|
@@ -254,11 +222,7 @@ module Faker
|
|
254
222
|
# Faker::Internet.fix_umlauts #=> ""
|
255
223
|
# Faker::Internet.fix_umlauts(string: 'faker') #=> "faker"
|
256
224
|
# Faker::Internet.fix_umlauts(string: 'faküer') #=> "fakueer"
|
257
|
-
def fix_umlauts(
|
258
|
-
warn_for_deprecated_arguments do |keywords|
|
259
|
-
keywords << :string if legacy_string != NOT_GIVEN
|
260
|
-
end
|
261
|
-
|
225
|
+
def fix_umlauts(string: '')
|
262
226
|
Char.fix_umlauts(string)
|
263
227
|
end
|
264
228
|
|
@@ -294,11 +258,7 @@ module Faker
|
|
294
258
|
# Faker::Internet.mac_address(prefix: 'a') #=> "0a:91:ce:24:89:3b"
|
295
259
|
# Faker::Internet.mac_address(prefix: 'aa') #=> "aa:38:a0:3e:e8:41"
|
296
260
|
# Faker::Internet.mac_address(prefix: 'aa:44') #=> "aa:44:30:88:6e:95"
|
297
|
-
def mac_address(
|
298
|
-
warn_for_deprecated_arguments do |keywords|
|
299
|
-
keywords << :prefix if legacy_prefix != NOT_GIVEN
|
300
|
-
end
|
301
|
-
|
261
|
+
def mac_address(prefix: '')
|
302
262
|
prefix_digits = prefix.split(':').map { |d| d.to_i(16) }
|
303
263
|
address_digits = Array.new((6 - prefix_digits.size)) { rand(256) }
|
304
264
|
(prefix_digits + address_digits).map { |d| format('%02x', d) }.join(':')
|
@@ -440,8 +400,6 @@ module Faker
|
|
440
400
|
"#{ip_v6_address}/#{rand(1..127)}"
|
441
401
|
end
|
442
402
|
|
443
|
-
# rubocop:disable Metrics/ParameterLists
|
444
|
-
|
445
403
|
##
|
446
404
|
# Returns URL
|
447
405
|
#
|
@@ -456,16 +414,9 @@ module Faker
|
|
456
414
|
# Faker::Internet.url(host: 'faker') #=> "http://faker/shad"
|
457
415
|
# Faker::Internet.url(host: 'faker', path: '/fake_test_path') #=> "http://faker/fake_test_path"
|
458
416
|
# Faker::Internet.url(host: 'faker', path: '/fake_test_path', scheme: 'https') #=> "https://faker/fake_test_path"
|
459
|
-
def url(
|
460
|
-
warn_for_deprecated_arguments do |keywords|
|
461
|
-
keywords << :host if legacy_host != NOT_GIVEN
|
462
|
-
keywords << :path if legacy_path != NOT_GIVEN
|
463
|
-
keywords << :scheme if legacy_scheme != NOT_GIVEN
|
464
|
-
end
|
465
|
-
|
417
|
+
def url(host: domain_name, path: "/#{username}", scheme: 'http')
|
466
418
|
"#{scheme}://#{host}#{path}"
|
467
419
|
end
|
468
|
-
# rubocop:enable Metrics/ParameterLists
|
469
420
|
|
470
421
|
##
|
471
422
|
# Returns unique string in URL
|
@@ -480,12 +431,7 @@ module Faker
|
|
480
431
|
# Faker::Internet.slug(words: 'test, faker') #=> "test-faker"
|
481
432
|
# Faker::Internet.slug(words: 'test. faker') #=> "test-faker"
|
482
433
|
# Faker::Internet.slug(words: 'test. faker', glue: '$') #=> "test$faker"
|
483
|
-
def slug(
|
484
|
-
warn_for_deprecated_arguments do |keywords|
|
485
|
-
keywords << :words if legacy_words != NOT_GIVEN
|
486
|
-
keywords << :glue if legacy_glue != NOT_GIVEN
|
487
|
-
end
|
488
|
-
|
434
|
+
def slug(words: nil, glue: nil)
|
489
435
|
glue ||= sample(%w[- _])
|
490
436
|
return words.delete(',.').gsub(' ', glue).downcase unless words.nil?
|
491
437
|
|
@@ -515,11 +461,7 @@ module Faker
|
|
515
461
|
# Faker::Internet.user_agent(vendor: 'chrome') #=> "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
|
516
462
|
# Faker::Internet.user_agent(vendor: 'safari') #=> "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A"
|
517
463
|
# Faker::Internet.user_agent(vendor: 'faker') #=> "Mozilla/5.0 (Windows; U; Win 9x 4.90; SG; rv:1.9.2.4) Gecko/20101104 Netscape/9.1.0285"
|
518
|
-
def user_agent(
|
519
|
-
warn_for_deprecated_arguments do |keywords|
|
520
|
-
keywords << :vendor if legacy_vendor != NOT_GIVEN
|
521
|
-
end
|
522
|
-
|
464
|
+
def user_agent(vendor: nil)
|
523
465
|
agent_hash = translate('faker.internet.user_agent')
|
524
466
|
agents = vendor.respond_to?(:to_sym) && agent_hash[vendor.to_sym] || agent_hash[sample(agent_hash.keys)]
|
525
467
|
sample(agents)
|
@@ -17,12 +17,7 @@ module Faker
|
|
17
17
|
# Faker::Finance.amount_between(0, 10) #=> 4.33
|
18
18
|
#
|
19
19
|
# @faker.version 1.9.0
|
20
|
-
def amount_between(
|
21
|
-
warn_for_deprecated_arguments do |keywords|
|
22
|
-
keywords << :from if legacy_from != NOT_GIVEN
|
23
|
-
keywords << :to if legacy_to != NOT_GIVEN
|
24
|
-
end
|
25
|
-
|
20
|
+
def amount_between(from: 0, to: 0)
|
26
21
|
Faker::Base.rand_in_range(from, to).round(2)
|
27
22
|
end
|
28
23
|
|
@@ -36,11 +31,7 @@ module Faker
|
|
36
31
|
# Faker::Invoice.creditor_reference #=> "RF34118592570724925498"
|
37
32
|
#
|
38
33
|
# @faker.version 1.9.0
|
39
|
-
def creditor_reference(
|
40
|
-
warn_for_deprecated_arguments do |keywords|
|
41
|
-
keywords << :ref if legacy_ref != NOT_GIVEN
|
42
|
-
end
|
43
|
-
|
34
|
+
def creditor_reference(ref: '')
|
44
35
|
ref = reference if ref.empty?
|
45
36
|
|
46
37
|
"RF#{iban_checksum('RF', ref)}#{ref}"
|
@@ -56,11 +47,7 @@ module Faker
|
|
56
47
|
# Faker::Invoice.reference #=> "45656646957845"
|
57
48
|
#
|
58
49
|
# @faker.version 1.9.0
|
59
|
-
def reference(
|
60
|
-
warn_for_deprecated_arguments do |keywords|
|
61
|
-
keywords << :ref if legacy_ref != NOT_GIVEN
|
62
|
-
end
|
63
|
-
|
50
|
+
def reference(ref: '')
|
64
51
|
pattern = fetch('invoice.reference.pattern')
|
65
52
|
|
66
53
|
ref = Base.regexify(/#{pattern}/) if ref.empty?
|
data/lib/faker/default/json.rb
CHANGED
@@ -20,12 +20,7 @@ module Faker
|
|
20
20
|
# something to eat - it's all been wrong."}
|
21
21
|
#
|
22
22
|
# @faker.version 1.9.2
|
23
|
-
def shallow_json(
|
24
|
-
warn_for_deprecated_arguments do |keywords|
|
25
|
-
keywords << :width if legacy_width != NOT_GIVEN
|
26
|
-
keywords << :options if legacy_options != NOT_GIVEN
|
27
|
-
end
|
28
|
-
|
23
|
+
def shallow_json(width: 3, options: { key: 'Name.first_name', value: 'Name.first_name' })
|
29
24
|
options[:key] = "Faker::#{options[:key]}"
|
30
25
|
options[:value] = "Faker::#{options[:value]}"
|
31
26
|
|
@@ -33,8 +28,6 @@ module Faker
|
|
33
28
|
JSON.generate(hash)
|
34
29
|
end
|
35
30
|
|
36
|
-
# rubocop:disable Metrics/ParameterLists
|
37
|
-
|
38
31
|
##
|
39
32
|
# Produces a random nested JSON formatted string that can take JSON as an additional argument.
|
40
33
|
#
|
@@ -73,17 +66,7 @@ module Faker
|
|
73
66
|
# {"Rick":"Wiza","Bonita":"Bayer","Gardner":"Auer","Felicity":"Abbott"}}}
|
74
67
|
#
|
75
68
|
# @faker.version 1.9.2
|
76
|
-
def add_depth_to_json(
|
77
|
-
warn_for_deprecated_arguments do |keywords|
|
78
|
-
keywords << :json if legacy_json != NOT_GIVEN
|
79
|
-
end
|
80
|
-
warn_for_deprecated_arguments do |keywords|
|
81
|
-
keywords << :width if legacy_width != NOT_GIVEN
|
82
|
-
end
|
83
|
-
warn_for_deprecated_arguments do |keywords|
|
84
|
-
keywords << :options if legacy_options != NOT_GIVEN
|
85
|
-
end
|
86
|
-
|
69
|
+
def add_depth_to_json(json: shallow_json, width: 3, options: { key: 'Name.first_name', value: 'Name.first_name' })
|
87
70
|
options[:key] = "Faker::#{options[:key]}"
|
88
71
|
options[:value] = "Faker::#{options[:value]}"
|
89
72
|
|
@@ -93,7 +76,6 @@ module Faker
|
|
93
76
|
end
|
94
77
|
JSON.generate(hash)
|
95
78
|
end
|
96
|
-
# rubocop:enable Metrics/ParameterLists
|
97
79
|
|
98
80
|
private
|
99
81
|
|
data/lib/faker/default/lorem.rb
CHANGED
@@ -30,12 +30,7 @@ module Faker
|
|
30
30
|
# Faker::Lorem.words(number: 4, supplemental: true) #=> ["nisi", "sit", "allatus", "consequatur"]
|
31
31
|
#
|
32
32
|
# @faker.version 2.1.3
|
33
|
-
def words(
|
34
|
-
warn_for_deprecated_arguments do |keywords|
|
35
|
-
keywords << :number if legacy_number != NOT_GIVEN
|
36
|
-
keywords << :supplemental if legacy_supplemental != NOT_GIVEN
|
37
|
-
end
|
38
|
-
|
33
|
+
def words(number: 3, supplemental: false)
|
39
34
|
resolved_num = resolve(number)
|
40
35
|
word_list = (
|
41
36
|
translate('faker.lorem.words') +
|
@@ -74,11 +69,7 @@ module Faker
|
|
74
69
|
# Faker::Lorem.characters(number: 10, min_alpha: 4, min_numeric: 1) #=> "ang9cbhoa8"
|
75
70
|
#
|
76
71
|
# @faker.version 2.1.3
|
77
|
-
def characters(
|
78
|
-
warn_for_deprecated_arguments do |keywords|
|
79
|
-
keywords << :number if legacy_number != NOT_GIVEN
|
80
|
-
end
|
81
|
-
|
72
|
+
def characters(number: 255, min_alpha: 0, min_numeric: 0)
|
82
73
|
Alphanumeric.alphanumeric(number: number, min_alpha: min_alpha, min_numeric: min_numeric)
|
83
74
|
end
|
84
75
|
|
@@ -95,7 +86,6 @@ module Faker
|
|
95
86
|
def multibyte
|
96
87
|
sample(translate('faker.lorem.multibyte')).pack('C*').force_encoding('utf-8')
|
97
88
|
end
|
98
|
-
# rubocop:disable Metrics/ParameterLists
|
99
89
|
|
100
90
|
##
|
101
91
|
# Generates sentence
|
@@ -113,16 +103,9 @@ module Faker
|
|
113
103
|
# Faker::Lorem.sentence(word_count: 5, supplemental: true, random_words_to_add:2) #=> "Crinis quo cruentus velit animi vomer."
|
114
104
|
#
|
115
105
|
# @faker.version 2.1.3
|
116
|
-
def sentence(
|
117
|
-
warn_for_deprecated_arguments do |keywords|
|
118
|
-
keywords << :word_count if legacy_word_count != NOT_GIVEN
|
119
|
-
keywords << :supplemental if legacy_supplemental != NOT_GIVEN
|
120
|
-
keywords << :random_words_to_add if legacy_random_words_to_add != NOT_GIVEN
|
121
|
-
end
|
122
|
-
|
106
|
+
def sentence(word_count: 4, supplemental: false, random_words_to_add: 0)
|
123
107
|
words(number: word_count + rand(random_words_to_add.to_i), supplemental: supplemental).join(locale_space).capitalize + locale_period
|
124
108
|
end
|
125
|
-
# rubocop:enable Metrics/ParameterLists
|
126
109
|
|
127
110
|
##
|
128
111
|
# Generates three sentences
|
@@ -138,17 +121,10 @@ module Faker
|
|
138
121
|
# Faker::Lorem.sentences(number: 2, supplemental: true) #=> ["Cito cena ad.", "Solvo animus allatus."]
|
139
122
|
#
|
140
123
|
# @faker.version 2.1.3
|
141
|
-
def sentences(
|
142
|
-
warn_for_deprecated_arguments do |keywords|
|
143
|
-
keywords << :number if legacy_number != NOT_GIVEN
|
144
|
-
keywords << :supplemental if legacy_supplemental != NOT_GIVEN
|
145
|
-
end
|
146
|
-
|
124
|
+
def sentences(number: 3, supplemental: false)
|
147
125
|
1.upto(resolve(number)).collect { sentence(word_count: 3, supplemental: supplemental) }
|
148
126
|
end
|
149
127
|
|
150
|
-
# rubocop:disable Metrics/ParameterLists
|
151
|
-
|
152
128
|
##
|
153
129
|
# Generates three sentence paragraph
|
154
130
|
#
|
@@ -169,16 +145,9 @@ module Faker
|
|
169
145
|
# #=> "Texo tantillus tamisium. Tribuo amissio tamisium. Facere aut canis."
|
170
146
|
#
|
171
147
|
# @faker.version 2.1.3
|
172
|
-
def paragraph(
|
173
|
-
warn_for_deprecated_arguments do |keywords|
|
174
|
-
keywords << :sentence_count if legacy_sentence_count != NOT_GIVEN
|
175
|
-
keywords << :supplemental if legacy_supplemental != NOT_GIVEN
|
176
|
-
keywords << :random_sentences_to_add if legacy_random_sentences_to_add != NOT_GIVEN
|
177
|
-
end
|
178
|
-
|
148
|
+
def paragraph(sentence_count: 3, supplemental: false, random_sentences_to_add: 0)
|
179
149
|
sentences(number: resolve(sentence_count) + rand(random_sentences_to_add.to_i), supplemental: supplemental).join(locale_space)
|
180
150
|
end
|
181
|
-
# rubocop:enable Metrics/ParameterLists
|
182
151
|
|
183
152
|
##
|
184
153
|
# Generates three paragraphs
|
@@ -194,14 +163,7 @@ module Faker
|
|
194
163
|
# Faker::Lorem.paragraphs(number:2, supplemental: true)
|
195
164
|
#
|
196
165
|
# @faker.version 2.1.3
|
197
|
-
def paragraphs(
|
198
|
-
warn_for_deprecated_arguments do |keywords|
|
199
|
-
keywords << :number if legacy_number != NOT_GIVEN
|
200
|
-
end
|
201
|
-
warn_for_deprecated_arguments do |keywords|
|
202
|
-
keywords << :supplemental if legacy_supplemental != NOT_GIVEN
|
203
|
-
end
|
204
|
-
|
166
|
+
def paragraphs(number: 3, supplemental: false)
|
205
167
|
1.upto(resolve(number)).collect { paragraph(sentence_count: 3, supplemental: supplemental) }
|
206
168
|
end
|
207
169
|
|
@@ -219,12 +181,7 @@ module Faker
|
|
219
181
|
# Faker::Lorem.paragraph_by_chars(number: 20, supplemental: true) #=> "Certus aveho admove."
|
220
182
|
#
|
221
183
|
# @faker.version 2.1.3
|
222
|
-
def paragraph_by_chars(
|
223
|
-
warn_for_deprecated_arguments do |keywords|
|
224
|
-
keywords << :number if legacy_number != NOT_GIVEN
|
225
|
-
keywords << :supplemental if legacy_supplemental != NOT_GIVEN
|
226
|
-
end
|
227
|
-
|
184
|
+
def paragraph_by_chars(number: 256, supplemental: false)
|
228
185
|
paragraph = paragraph(sentence_count: 3, supplemental: supplemental)
|
229
186
|
|
230
187
|
paragraph += " #{paragraph(sentence_count: 3, supplemental: supplemental)}" while paragraph.length < number
|
@@ -232,8 +189,6 @@ module Faker
|
|
232
189
|
"#{paragraph[0...number - 1]}."
|
233
190
|
end
|
234
191
|
|
235
|
-
# rubocop:disable Metrics/ParameterLists
|
236
|
-
|
237
192
|
##
|
238
193
|
# Returns the question with 4 words
|
239
194
|
#
|
@@ -250,16 +205,9 @@ module Faker
|
|
250
205
|
# Faker::Lorem.question(word_count: 2, supplemental: true, random_words_to_add: 2) #=> "Depulso uter ut?"
|
251
206
|
#
|
252
207
|
# @faker.version 2.1.3
|
253
|
-
def question(
|
254
|
-
warn_for_deprecated_arguments do |keywords|
|
255
|
-
keywords << :word_count if legacy_word_count != NOT_GIVEN
|
256
|
-
keywords << :supplemental if legacy_supplemental != NOT_GIVEN
|
257
|
-
keywords << :random_words_to_add if legacy_random_words_to_add != NOT_GIVEN
|
258
|
-
end
|
259
|
-
|
208
|
+
def question(word_count: 4, supplemental: false, random_words_to_add: 0)
|
260
209
|
words(number: word_count + rand(random_words_to_add), supplemental: supplemental).join(' ').capitalize + locale_question_mark
|
261
210
|
end
|
262
|
-
# rubocop:enable Metrics/ParameterLists
|
263
211
|
|
264
212
|
##
|
265
213
|
# Generates array of three questions
|
@@ -275,12 +223,7 @@ module Faker
|
|
275
223
|
# Faker::Lorem.questions(number: 2, supplemental: true) #=> ["Acceptus subito cetera?", "Aro sulum cubicularis?"]
|
276
224
|
#
|
277
225
|
# @faker.version 2.1.3
|
278
|
-
def questions(
|
279
|
-
warn_for_deprecated_arguments do |keywords|
|
280
|
-
keywords << :number if legacy_number != NOT_GIVEN
|
281
|
-
keywords << :supplemental if legacy_supplemental != NOT_GIVEN
|
282
|
-
end
|
283
|
-
|
226
|
+
def questions(number: 3, supplemental: false)
|
284
227
|
1.upto(resolve(number)).collect { question(word_count: 3, supplemental: supplemental) }
|
285
228
|
end
|
286
229
|
|
@@ -5,8 +5,6 @@ module Faker
|
|
5
5
|
class << self
|
6
6
|
SUPPORTED_COLORIZATIONS = %w[red green blue].freeze
|
7
7
|
|
8
|
-
# rubocop:disable Metrics/ParameterLists
|
9
|
-
|
10
8
|
##
|
11
9
|
# Produces a random image URL from loremflickr.com.
|
12
10
|
#
|
@@ -23,13 +21,7 @@ module Faker
|
|
23
21
|
# Faker::LoremFlickr.image(size: "50x60", search_terms: ['sports', 'fitness'], match_all: true) #=> "https://loremflickr.com/50/60/sports,fitness/all"
|
24
22
|
#
|
25
23
|
# @faker.version 1.9.0
|
26
|
-
def image(
|
27
|
-
warn_for_deprecated_arguments do |keywords|
|
28
|
-
keywords << :size if legacy_size != NOT_GIVEN
|
29
|
-
keywords << :search_terms if legacy_search_terms != NOT_GIVEN
|
30
|
-
keywords << :match_all if legacy_match_all != NOT_GIVEN
|
31
|
-
end
|
32
|
-
|
24
|
+
def image(size: '300x300', search_terms: [], match_all: false)
|
33
25
|
build_url(size, nil, search_terms, match_all)
|
34
26
|
end
|
35
27
|
|
@@ -49,13 +41,7 @@ module Faker
|
|
49
41
|
# Faker::LoremFlickr.grayscale_image(size: "50x60", search_terms: ['sports', 'fitness'], match_all: true) #=> "https://loremflickr.com/g/50/60/sports,fitness/all"
|
50
42
|
#
|
51
43
|
# @faker.version 1.9.0
|
52
|
-
def grayscale_image(
|
53
|
-
warn_for_deprecated_arguments do |keywords|
|
54
|
-
keywords << :size if legacy_size != NOT_GIVEN
|
55
|
-
keywords << :search_terms if legacy_search_terms != NOT_GIVEN
|
56
|
-
keywords << :match_all if legacy_match_all != NOT_GIVEN
|
57
|
-
end
|
58
|
-
|
44
|
+
def grayscale_image(size: '300x300', search_terms: ['all'], match_all: false)
|
59
45
|
raise ArgumentError, 'Search terms must be specified for grayscale images' unless search_terms.any?
|
60
46
|
|
61
47
|
build_url(size, 'g', search_terms, match_all)
|
@@ -77,13 +63,7 @@ module Faker
|
|
77
63
|
# Faker::LoremFlickr.pixelated_image(size: "50x60", search_terms: ['sports', 'fitness'], match_all: true) #=> "https://loremflickr.com/p/50/60/sports,fitness/all"
|
78
64
|
#
|
79
65
|
# @faker.version 1.9.0
|
80
|
-
def pixelated_image(
|
81
|
-
warn_for_deprecated_arguments do |keywords|
|
82
|
-
keywords << :size if legacy_size != NOT_GIVEN
|
83
|
-
keywords << :search_terms if legacy_search_terms != NOT_GIVEN
|
84
|
-
keywords << :match_all if legacy_match_all != NOT_GIVEN
|
85
|
-
end
|
86
|
-
|
66
|
+
def pixelated_image(size: '300x300', search_terms: ['all'], match_all: false)
|
87
67
|
raise ArgumentError, 'Search terms must be specified for pixelated images' unless search_terms.any?
|
88
68
|
|
89
69
|
build_url(size, 'p', search_terms, match_all)
|
@@ -106,20 +86,12 @@ module Faker
|
|
106
86
|
# Faker::LoremFlickr.image(size: "50x60", color: 'blue', search_terms: ['sports', 'fitness'], match_all: true) #=> "https://loremflickr.com/blue/50/60/sports,fitness/all"
|
107
87
|
#
|
108
88
|
# @faker.version 1.9.0
|
109
|
-
def colorized_image(
|
110
|
-
warn_for_deprecated_arguments do |keywords|
|
111
|
-
keywords << :size if legacy_size != NOT_GIVEN
|
112
|
-
keywords << :color if legacy_color != NOT_GIVEN
|
113
|
-
keywords << :search_terms if legacy_search_terms != NOT_GIVEN
|
114
|
-
keywords << :match_all if legacy_match_all != NOT_GIVEN
|
115
|
-
end
|
116
|
-
|
89
|
+
def colorized_image(size: '300x300', color: 'red', search_terms: ['all'], match_all: false)
|
117
90
|
raise ArgumentError, 'Search terms must be specified for colorized images' unless search_terms.any?
|
118
91
|
raise ArgumentError, "Supported colorizations are #{SUPPORTED_COLORIZATIONS.join(', ')}" unless SUPPORTED_COLORIZATIONS.include?(color)
|
119
92
|
|
120
93
|
build_url(size, color, search_terms, match_all)
|
121
94
|
end
|
122
|
-
# rubocop:enable Metrics/ParameterLists
|
123
95
|
|
124
96
|
private
|
125
97
|
|
@@ -3,6 +3,8 @@
|
|
3
3
|
module Faker
|
4
4
|
class LoremPixel < Base
|
5
5
|
class << self
|
6
|
+
extend Gem::Deprecate
|
7
|
+
|
6
8
|
SUPPORTED_CATEGORIES = %w[abstract
|
7
9
|
animals
|
8
10
|
business
|
@@ -41,16 +43,7 @@ module Faker
|
|
41
43
|
# Faker::LoremPixel.image(secure: false) #=> "http://lorempixel.com/300/300"
|
42
44
|
#
|
43
45
|
# @faker.version 1.7.0
|
44
|
-
def image(
|
45
|
-
warn_for_deprecated_arguments do |keywords|
|
46
|
-
keywords << :size if legacy_size != NOT_GIVEN
|
47
|
-
keywords << :is_gray if legacy_is_gray != NOT_GIVEN
|
48
|
-
keywords << :category if legacy_category != NOT_GIVEN
|
49
|
-
keywords << :number if legacy_number != NOT_GIVEN
|
50
|
-
keywords << :text if legacy_text != NOT_GIVEN
|
51
|
-
keywords << :secure if legacy_secure != NOT_GIVEN
|
52
|
-
end
|
53
|
-
|
46
|
+
def image(size: '300x300', is_gray: false, category: nil, number: nil, text: nil, secure: true)
|
54
47
|
raise ArgumentError, 'Size should be specified in format 300x300' unless size =~ /^[0-9]+x[0-9]+$/
|
55
48
|
raise ArgumentError, "Supported categories are #{SUPPORTED_CATEGORIES.join(', ')}" unless category.nil? || SUPPORTED_CATEGORIES.include?(category)
|
56
49
|
raise ArgumentError, 'Category required when number is passed' if !number.nil? && category.nil?
|
@@ -64,6 +57,7 @@ module Faker
|
|
64
57
|
url_parts += [category, number, text].compact
|
65
58
|
url_parts.join('/')
|
66
59
|
end
|
60
|
+
deprecate :image, 'Faker::LoremFlickr.image', 2022, 12
|
67
61
|
# rubocop:enable Metrics/ParameterLists
|
68
62
|
end
|
69
63
|
end
|
@@ -150,12 +150,7 @@ module Faker
|
|
150
150
|
# Faker::Markdown.sandwich(sentences: 6, repeat: 3) #=> returns newline separated content of 1 header, and then 3 sections consisting of, here, 1 6-sentence lorem paragraph and 1 random markdown element. The random markdown element is chosen at random in each iteration of the paragraph-markdown pairing.
|
151
151
|
#
|
152
152
|
# @faker.version 1.8.0
|
153
|
-
def sandwich(
|
154
|
-
warn_for_deprecated_arguments do |keywords|
|
155
|
-
keywords << :sentences if legacy_sentences != NOT_GIVEN
|
156
|
-
keywords << :repeat if legacy_repeat != NOT_GIVEN
|
157
|
-
end
|
158
|
-
|
153
|
+
def sandwich(sentences: 3, repeat: 1)
|
159
154
|
text_block = []
|
160
155
|
text_block << headers
|
161
156
|
repeat.times do
|
@@ -19,11 +19,7 @@ module Faker
|
|
19
19
|
# Faker::Measurement.height(amount: "all") #=> "inches"
|
20
20
|
#
|
21
21
|
# @faker.version 1.7.3
|
22
|
-
def height(
|
23
|
-
warn_for_deprecated_arguments do |keywords|
|
24
|
-
keywords << :amount if legacy_amount != NOT_GIVEN
|
25
|
-
end
|
26
|
-
|
22
|
+
def height(amount: rand(10))
|
27
23
|
define_measurement_locale(amount, 'height')
|
28
24
|
end
|
29
25
|
|
@@ -38,11 +34,7 @@ module Faker
|
|
38
34
|
# Faker::Measurement.length(amount: 1.4) #=> "1.4 yards"
|
39
35
|
#
|
40
36
|
# @faker.version 1.7.3
|
41
|
-
def length(
|
42
|
-
warn_for_deprecated_arguments do |keywords|
|
43
|
-
keywords << :amount if legacy_amount != NOT_GIVEN
|
44
|
-
end
|
45
|
-
|
37
|
+
def length(amount: rand(10))
|
46
38
|
define_measurement_locale(amount, 'length')
|
47
39
|
end
|
48
40
|
|
@@ -57,11 +49,7 @@ module Faker
|
|
57
49
|
# Faker::Measurement.volume(amount: 1.4) #=> "1.4 cups"
|
58
50
|
#
|
59
51
|
# @faker.version 1.7.3
|
60
|
-
def volume(
|
61
|
-
warn_for_deprecated_arguments do |keywords|
|
62
|
-
keywords << :amount if legacy_amount != NOT_GIVEN
|
63
|
-
end
|
64
|
-
|
52
|
+
def volume(amount: rand(10))
|
65
53
|
define_measurement_locale(amount, 'volume')
|
66
54
|
end
|
67
55
|
|
@@ -76,11 +64,7 @@ module Faker
|
|
76
64
|
# Faker::Measurement.weight(amount: 1.4) #=> "1.4 pounds"
|
77
65
|
#
|
78
66
|
# @faker.version 1.7.3
|
79
|
-
def weight(
|
80
|
-
warn_for_deprecated_arguments do |keywords|
|
81
|
-
keywords << :amount if legacy_amount != NOT_GIVEN
|
82
|
-
end
|
83
|
-
|
67
|
+
def weight(amount: rand(10))
|
84
68
|
define_measurement_locale(amount, 'weight')
|
85
69
|
end
|
86
70
|
|
@@ -95,11 +79,7 @@ module Faker
|
|
95
79
|
# Faker::Measurement.metric_height(amount: 1.4) #=> "1.4 meters"
|
96
80
|
#
|
97
81
|
# @faker.version 1.7.3
|
98
|
-
def metric_height(
|
99
|
-
warn_for_deprecated_arguments do |keywords|
|
100
|
-
keywords << :amount if legacy_amount != NOT_GIVEN
|
101
|
-
end
|
102
|
-
|
82
|
+
def metric_height(amount: rand(10))
|
103
83
|
define_measurement_locale(amount, 'metric_height')
|
104
84
|
end
|
105
85
|
|
@@ -114,11 +94,7 @@ module Faker
|
|
114
94
|
# Faker::Measurement.metric_length(amount: 1.4) #=> "1.4 decimeters"
|
115
95
|
#
|
116
96
|
# @faker.version 1.7.3
|
117
|
-
def metric_length(
|
118
|
-
warn_for_deprecated_arguments do |keywords|
|
119
|
-
keywords << :amount if legacy_amount != NOT_GIVEN
|
120
|
-
end
|
121
|
-
|
97
|
+
def metric_length(amount: rand(10))
|
122
98
|
define_measurement_locale(amount, 'metric_length')
|
123
99
|
end
|
124
100
|
|
@@ -133,11 +109,7 @@ module Faker
|
|
133
109
|
# Faker::Measurement.metric_volume(amount: 1.4) #=> "1.4 liters"
|
134
110
|
#
|
135
111
|
# @faker.version 1.7.3
|
136
|
-
def metric_volume(
|
137
|
-
warn_for_deprecated_arguments do |keywords|
|
138
|
-
keywords << :amount if legacy_amount != NOT_GIVEN
|
139
|
-
end
|
140
|
-
|
112
|
+
def metric_volume(amount: rand(10))
|
141
113
|
define_measurement_locale(amount, 'metric_volume')
|
142
114
|
end
|
143
115
|
|
@@ -152,11 +124,7 @@ module Faker
|
|
152
124
|
# Faker::Measurement.metric_weight(amount: 1.4) #=> "1.4 grams"
|
153
125
|
#
|
154
126
|
# @faker.version 1.7.3
|
155
|
-
def metric_weight(
|
156
|
-
warn_for_deprecated_arguments do |keywords|
|
157
|
-
keywords << :amount if legacy_amount != NOT_GIVEN
|
158
|
-
end
|
159
|
-
|
127
|
+
def metric_weight(amount: rand(10))
|
160
128
|
define_measurement_locale(amount, 'metric_weight')
|
161
129
|
end
|
162
130
|
|
data/lib/faker/default/name.rb
CHANGED
@@ -144,11 +144,7 @@ module Faker
|
|
144
144
|
# Faker::Name.initials(number: 2) #=> "NM"
|
145
145
|
#
|
146
146
|
# @faker.version 1.8.5
|
147
|
-
def initials(
|
148
|
-
warn_for_deprecated_arguments do |keywords|
|
149
|
-
keywords << :number if legacy_number != NOT_GIVEN
|
150
|
-
end
|
151
|
-
|
147
|
+
def initials(number: 3)
|
152
148
|
(0...number).map { rand(65..90).chr }.join
|
153
149
|
end
|
154
150
|
end
|