faker 2.1.2 → 2.6.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 +171 -7
- data/README.md +4 -4
- data/lib/faker.rb +56 -1
- data/lib/faker/blockchain/aeternity.rb +70 -0
- data/lib/faker/blockchain/bitcoin.rb +26 -0
- data/lib/faker/blockchain/ethereum.rb +10 -0
- data/lib/faker/blockchain/tezos.rb +62 -6
- data/lib/faker/books/book.rb +36 -0
- data/lib/faker/books/culture_series.rb +49 -0
- data/lib/faker/books/dune.rb +66 -5
- data/lib/faker/books/lovecraft.rb +210 -7
- data/lib/faker/creature/animal.rb +9 -0
- data/lib/faker/creature/cat.rb +27 -0
- data/lib/faker/creature/dog.rb +72 -0
- data/lib/faker/creature/horse.rb +18 -0
- data/lib/faker/default/address.rb +25 -5
- data/lib/faker/default/alphanumeric.rb +56 -7
- data/lib/faker/default/app.rb +55 -1
- data/lib/faker/default/appliance.rb +18 -0
- data/lib/faker/default/artist.rb +9 -0
- data/lib/faker/default/avatar.rb +43 -1
- data/lib/faker/default/bank.rb +10 -2
- data/lib/faker/default/boolean.rb +16 -1
- data/lib/faker/default/chile_rut.rb +12 -2
- data/lib/faker/default/chuck_norris.rb +1 -1
- data/lib/faker/default/code.rb +16 -3
- data/lib/faker/default/commerce.rb +17 -3
- data/lib/faker/default/company.rb +10 -2
- data/lib/faker/default/crypto_coin.rb +15 -3
- data/lib/faker/default/date.rb +118 -5
- data/lib/faker/default/demographic.rb +5 -1
- data/lib/faker/default/dessert.rb +27 -0
- data/lib/faker/default/device.rb +54 -0
- data/lib/faker/default/driving_licence.rb +12 -6
- data/lib/faker/default/electrical_components.rb +27 -0
- data/lib/faker/default/file.rb +19 -2
- data/lib/faker/default/fillmurray.rb +9 -1
- data/lib/faker/default/finance.rb +5 -1
- data/lib/faker/default/gender.rb +18 -0
- data/lib/faker/default/greek_philosophers.rb +18 -0
- data/lib/faker/default/hacker.rb +59 -1
- data/lib/faker/default/hipster.rb +45 -6
- data/lib/faker/default/house.rb +18 -0
- data/lib/faker/default/id_number.rb +11 -3
- data/lib/faker/default/industry_segments.rb +36 -0
- data/lib/faker/default/internet.rb +97 -13
- data/lib/faker/default/invoice.rb +16 -3
- data/lib/faker/default/json.rb +19 -2
- data/lib/faker/default/lorem.rb +81 -10
- data/lib/faker/default/lorem_flickr.rb +38 -5
- data/lib/faker/default/lorem_pixel.rb +10 -1
- data/lib/faker/default/markdown.rb +6 -1
- data/lib/faker/default/marketing.rb +9 -0
- data/lib/faker/default/measurement.rb +40 -8
- data/lib/faker/default/military.rb +45 -0
- data/lib/faker/default/name.rb +5 -1
- data/lib/faker/default/nation.rb +48 -5
- data/lib/faker/default/nato_phonetic_alphabet.rb +9 -0
- data/lib/faker/default/nhs.rb +5 -1
- data/lib/faker/default/number.rb +180 -11
- data/lib/faker/default/omniauth.rb +92 -9
- data/lib/faker/default/phone_number.rb +5 -1
- data/lib/faker/default/placeholdit.rb +11 -1
- data/lib/faker/default/programming_language.rb +18 -0
- data/lib/faker/default/relationship.rb +5 -1
- data/lib/faker/default/restaurant.rb +54 -2
- data/lib/faker/default/science.rb +27 -0
- data/lib/faker/default/source.rb +59 -3
- data/lib/faker/default/string.rb +5 -1
- data/lib/faker/default/stripe.rb +20 -4
- data/lib/faker/default/subscription.rb +45 -0
- data/lib/faker/default/superhero.rb +45 -0
- data/lib/faker/default/time.rb +114 -4
- data/lib/faker/default/twitter.rb +32 -18
- data/lib/faker/default/types.rb +27 -5
- data/lib/faker/default/vehicle.rb +17 -4
- data/lib/faker/default/world_cup.rb +61 -2
- data/lib/faker/games/dota.rb +52 -1
- data/lib/faker/games/elder_scrolls.rb +72 -0
- data/lib/faker/games/fallout.rb +37 -0
- data/lib/faker/games/game.rb +27 -0
- data/lib/faker/games/half_life.rb +27 -0
- data/lib/faker/games/heroes.rb +27 -0
- data/lib/faker/games/heroes_of_the_storm.rb +36 -0
- data/lib/faker/games/league_of_legends.rb +54 -0
- data/lib/faker/games/myst.rb +45 -0
- data/lib/faker/games/overwatch.rb +27 -0
- data/lib/faker/games/pokemon.rb +27 -0
- data/lib/faker/games/sonic_the_hedgehog.rb +27 -0
- data/lib/faker/games/super_smash_bros.rb +18 -0
- data/lib/faker/games/witcher.rb +54 -0
- data/lib/faker/games/world_of_warcraft.rb +18 -0
- data/lib/faker/games/zelda.rb +37 -1
- data/lib/faker/japanese_media/dragon_ball.rb +9 -0
- data/lib/faker/japanese_media/one_piece.rb +54 -0
- data/lib/faker/japanese_media/sword_art_online.rb +36 -0
- data/lib/faker/movies/back_to_the_future.rb +28 -0
- data/lib/faker/movies/ghostbusters.rb +28 -0
- data/lib/faker/movies/harry_potter.rb +54 -0
- data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +69 -0
- data/lib/faker/movies/hobbit.rb +37 -0
- data/lib/faker/movies/lebowski.rb +27 -0
- data/lib/faker/movies/lord_of_the_rings.rb +28 -0
- data/lib/faker/movies/movie.rb +9 -0
- data/lib/faker/movies/princess_bride.rb +19 -0
- data/lib/faker/movies/star_wars.rb +100 -4
- data/lib/faker/movies/v_for_vendetta.rb +29 -0
- data/lib/faker/music/grateful_dead.rb +18 -0
- data/lib/faker/music/phish.rb +9 -0
- data/lib/faker/music/rock_band.rb +9 -0
- data/lib/faker/music/umphreys_mcgee.rb +9 -0
- data/lib/faker/sports/basketball.rb +36 -0
- data/lib/faker/sports/football.rb +45 -0
- data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +9 -0
- data/lib/faker/tv_shows/bojack_horseman.rb +28 -0
- data/lib/faker/tv_shows/breaking_bad.rb +18 -0
- data/lib/faker/tv_shows/buffy.rb +45 -0
- data/lib/faker/tv_shows/community.rb +19 -0
- data/lib/faker/tv_shows/dr_who.rb +78 -2
- data/lib/faker/tv_shows/dumb_and_dumber.rb +28 -0
- data/lib/faker/tv_shows/family_guy.rb +28 -0
- data/lib/faker/tv_shows/friends.rb +27 -0
- data/lib/faker/tv_shows/game_of_thrones.rb +46 -0
- data/lib/faker/tv_shows/hey_arnold.rb +27 -0
- data/lib/faker/tv_shows/how_i_met_your_mother.rb +37 -0
- data/lib/faker/tv_shows/michael_scott.rb +13 -0
- data/lib/faker/tv_shows/new_girl.rb +19 -0
- data/lib/faker/tv_shows/parks_and_rec.rb +18 -0
- data/lib/faker/tv_shows/rick_and_morty.rb +28 -0
- data/lib/faker/tv_shows/ru_paul.rb +18 -0
- data/lib/faker/tv_shows/seinfeld.rb +28 -0
- data/lib/faker/tv_shows/silicon_valley.rb +75 -0
- data/lib/faker/tv_shows/simpsons.rb +28 -0
- data/lib/faker/tv_shows/south_park.rb +19 -0
- data/lib/faker/tv_shows/star_trek.rb +36 -0
- data/lib/faker/tv_shows/stargate.rb +28 -0
- data/lib/faker/tv_shows/stranger_things.rb +19 -0
- data/lib/faker/tv_shows/the_expanse.rb +36 -0
- data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +28 -0
- data/lib/faker/tv_shows/the_it_crowd.rb +37 -0
- data/lib/faker/tv_shows/the_thick_of_it.rb +28 -0
- data/lib/faker/tv_shows/twin_peaks.rb +28 -0
- data/lib/faker/tv_shows/venture_bros.rb +38 -0
- data/lib/faker/version.rb +1 -1
- data/lib/locales/en-CA.yml +1 -1
- data/lib/locales/en-TH.yml +360 -0
- data/lib/locales/en/color.yml +1 -1
- data/lib/locales/en/dr_who.yml +1 -1
- data/lib/locales/en/science.yml +1 -1
- data/lib/locales/ja.yml +8 -9
- data/lib/locales/th.yml +380 -0
- metadata +39 -14
|
@@ -15,7 +15,15 @@ module Faker
|
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
class << self
|
|
18
|
-
|
|
18
|
+
# rubocop:disable Metrics/ParameterLists
|
|
19
|
+
def google(legacy_name = NOT_GIVEN, legacy_email = NOT_GIVEN, legacy_uid = NOT_GIVEN, name: nil, email: nil, uid: Number.number(digits: 9).to_s)
|
|
20
|
+
# rubocop:enable Metrics/ParameterLists
|
|
21
|
+
warn_for_deprecated_arguments do |keywords|
|
|
22
|
+
keywords << :name if legacy_name != NOT_GIVEN
|
|
23
|
+
keywords << :email if legacy_email != NOT_GIVEN
|
|
24
|
+
keywords << :uid if legacy_uid != NOT_GIVEN
|
|
25
|
+
end
|
|
26
|
+
|
|
19
27
|
auth = Omniauth.new(name: name, email: email)
|
|
20
28
|
{
|
|
21
29
|
provider: 'google_oauth2',
|
|
@@ -27,7 +35,7 @@ module Faker
|
|
|
27
35
|
email: auth.email,
|
|
28
36
|
image: image
|
|
29
37
|
},
|
|
30
|
-
credentials:
|
|
38
|
+
credentials: {
|
|
31
39
|
token: Crypto.md5,
|
|
32
40
|
refresh_token: Crypto.md5,
|
|
33
41
|
expires_at: Time.forward.to_i,
|
|
@@ -35,7 +43,7 @@ module Faker
|
|
|
35
43
|
},
|
|
36
44
|
extra: {
|
|
37
45
|
raw_info: {
|
|
38
|
-
sub:
|
|
46
|
+
sub: uid,
|
|
39
47
|
email: auth.email,
|
|
40
48
|
email_verified: random_boolean.to_s,
|
|
41
49
|
name: auth.name,
|
|
@@ -64,7 +72,16 @@ module Faker
|
|
|
64
72
|
}
|
|
65
73
|
end
|
|
66
74
|
|
|
67
|
-
|
|
75
|
+
# rubocop:disable Metrics/ParameterLists
|
|
76
|
+
def facebook(legacy_name = NOT_GIVEN, legacy_email = NOT_GIVEN, legacy_username = NOT_GIVEN, legacy_uid = NOT_GIVEN, name: nil, email: nil, username: nil, uid: Number.number(digits: 7).to_s)
|
|
77
|
+
# rubocop:enable Metrics/ParameterLists
|
|
78
|
+
warn_for_deprecated_arguments do |keywords|
|
|
79
|
+
keywords << :name if legacy_name != NOT_GIVEN
|
|
80
|
+
keywords << :email if legacy_email != NOT_GIVEN
|
|
81
|
+
keywords << :username if legacy_username != NOT_GIVEN
|
|
82
|
+
keywords << :uid if legacy_uid != NOT_GIVEN
|
|
83
|
+
end
|
|
84
|
+
|
|
68
85
|
auth = Omniauth.new(name: name, email: email)
|
|
69
86
|
username ||= "#{auth.first_name.downcase[0]}#{auth.last_name.downcase}"
|
|
70
87
|
{
|
|
@@ -106,7 +123,15 @@ module Faker
|
|
|
106
123
|
}
|
|
107
124
|
end
|
|
108
125
|
|
|
109
|
-
|
|
126
|
+
# rubocop:disable Metrics/ParameterLists
|
|
127
|
+
def twitter(legacy_name = NOT_GIVEN, legacy_nickname = NOT_GIVEN, legacy_uid = NOT_GIVEN, name: nil, nickname: nil, uid: Number.number(digits: 6).to_s)
|
|
128
|
+
# rubocop:enable Metrics/ParameterLists
|
|
129
|
+
warn_for_deprecated_arguments do |keywords|
|
|
130
|
+
keywords << :name if legacy_name != NOT_GIVEN
|
|
131
|
+
keywords << :nickname if legacy_nickname != NOT_GIVEN
|
|
132
|
+
keywords << :uid if legacy_uid != NOT_GIVEN
|
|
133
|
+
end
|
|
134
|
+
|
|
110
135
|
auth = Omniauth.new(name: name)
|
|
111
136
|
nickname ||= auth.name.downcase.delete(' ')
|
|
112
137
|
location = city_state
|
|
@@ -179,7 +204,15 @@ module Faker
|
|
|
179
204
|
}
|
|
180
205
|
end
|
|
181
206
|
|
|
182
|
-
|
|
207
|
+
# rubocop:disable Metrics/ParameterLists
|
|
208
|
+
def linkedin(legacy_name = NOT_GIVEN, legacy_email = NOT_GIVEN, legacy_uid = NOT_GIVEN, name: nil, email: nil, uid: Number.number(digits: 6).to_s)
|
|
209
|
+
# rubocop:enable Metrics/ParameterLists
|
|
210
|
+
warn_for_deprecated_arguments do |keywords|
|
|
211
|
+
keywords << :name if legacy_name != NOT_GIVEN
|
|
212
|
+
keywords << :email if legacy_email != NOT_GIVEN
|
|
213
|
+
keywords << :uid if legacy_uid != NOT_GIVEN
|
|
214
|
+
end
|
|
215
|
+
|
|
183
216
|
auth = Omniauth.new(name: name, email: email)
|
|
184
217
|
first_name = auth.first_name.downcase
|
|
185
218
|
last_name = auth.last_name.downcase
|
|
@@ -242,7 +275,15 @@ module Faker
|
|
|
242
275
|
}
|
|
243
276
|
end
|
|
244
277
|
|
|
245
|
-
|
|
278
|
+
# rubocop:disable Metrics/ParameterLists
|
|
279
|
+
def github(legacy_name = NOT_GIVEN, legacy_email = NOT_GIVEN, legacy_uid = NOT_GIVEN, name: nil, email: nil, uid: Number.number(digits: 8).to_s)
|
|
280
|
+
# rubocop:enable Metrics/ParameterLists
|
|
281
|
+
warn_for_deprecated_arguments do |keywords|
|
|
282
|
+
keywords << :name if legacy_name != NOT_GIVEN
|
|
283
|
+
keywords << :email if legacy_email != NOT_GIVEN
|
|
284
|
+
keywords << :uid if legacy_uid != NOT_GIVEN
|
|
285
|
+
end
|
|
286
|
+
|
|
246
287
|
auth = Omniauth.new(name: name, email: email)
|
|
247
288
|
login = auth.name.downcase.tr(' ', '-')
|
|
248
289
|
html_url = "https://github.com/#{login}"
|
|
@@ -261,7 +302,7 @@ module Faker
|
|
|
261
302
|
},
|
|
262
303
|
credentials: {
|
|
263
304
|
token: Crypto.md5,
|
|
264
|
-
expires:
|
|
305
|
+
expires: false
|
|
265
306
|
},
|
|
266
307
|
extra: {
|
|
267
308
|
raw_info: {
|
|
@@ -281,7 +322,7 @@ module Faker
|
|
|
281
322
|
events_url: "#{api_url}/events{/privacy}",
|
|
282
323
|
received_events_url: "#{api_url}/received_events",
|
|
283
324
|
type: 'User',
|
|
284
|
-
site_admin:
|
|
325
|
+
site_admin: random_boolean,
|
|
285
326
|
name: auth.name,
|
|
286
327
|
company: nil,
|
|
287
328
|
blog: nil,
|
|
@@ -300,6 +341,48 @@ module Faker
|
|
|
300
341
|
}
|
|
301
342
|
end
|
|
302
343
|
|
|
344
|
+
##
|
|
345
|
+
# Generate a mock Omniauth response from Apple
|
|
346
|
+
#
|
|
347
|
+
# @param name [String] A specific name to return in the response
|
|
348
|
+
# @param email [String] A specific email to return in the response
|
|
349
|
+
# @param uid [String] A specific UID to return in the response
|
|
350
|
+
#
|
|
351
|
+
# @return [Hash] An auth hash in the format provided by omniauth-apple
|
|
352
|
+
def apple(name: nil, email: nil, uid: nil)
|
|
353
|
+
uid ||= "#{Number.number(digits: 6)}.#{Number.hexadecimal(digits: 32)}.#{Number.number(digits: 4)}"
|
|
354
|
+
auth = Omniauth.new(name: name, email: email)
|
|
355
|
+
{
|
|
356
|
+
provider: 'apple',
|
|
357
|
+
uid: uid,
|
|
358
|
+
info: {
|
|
359
|
+
sub: uid,
|
|
360
|
+
email: auth.email,
|
|
361
|
+
first_name: auth.first_name,
|
|
362
|
+
last_name: auth.last_name
|
|
363
|
+
},
|
|
364
|
+
credentials: {
|
|
365
|
+
token: Crypto.md5,
|
|
366
|
+
refresh_token: Crypto.md5,
|
|
367
|
+
expires_at: Time.forward.to_i,
|
|
368
|
+
expires: true
|
|
369
|
+
},
|
|
370
|
+
extra: {
|
|
371
|
+
raw_info: {
|
|
372
|
+
iss: 'https://appleid.apple.com',
|
|
373
|
+
aud: 'CLIENT_ID',
|
|
374
|
+
exp: Time.forward.to_i,
|
|
375
|
+
iat: Time.forward.to_i,
|
|
376
|
+
sub: uid,
|
|
377
|
+
at_hash: Crypto.md5,
|
|
378
|
+
auth_time: Time.forward.to_i,
|
|
379
|
+
email: auth.email,
|
|
380
|
+
email_verified: true
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
end
|
|
385
|
+
|
|
303
386
|
private
|
|
304
387
|
|
|
305
388
|
def gender
|
|
@@ -40,7 +40,11 @@ module Faker
|
|
|
40
40
|
# US and Canada only
|
|
41
41
|
# Can be used for both extensions and last four digits of phone number.
|
|
42
42
|
# Since extensions can be of variable length, this method taks a length parameter
|
|
43
|
-
def subscriber_number(length: 4)
|
|
43
|
+
def subscriber_number(legacy_length = NOT_GIVEN, length: 4)
|
|
44
|
+
warn_for_deprecated_arguments do |keywords|
|
|
45
|
+
keywords << :length if legacy_length != NOT_GIVEN
|
|
46
|
+
end
|
|
47
|
+
|
|
44
48
|
rand.to_s[2..(1 + length)]
|
|
45
49
|
end
|
|
46
50
|
|
|
@@ -5,7 +5,17 @@ module Faker
|
|
|
5
5
|
class << self
|
|
6
6
|
SUPPORTED_FORMATS = %w[png jpg gif jpeg].freeze
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
# rubocop:disable Metrics/ParameterLists
|
|
9
|
+
def image(legacy_size = NOT_GIVEN, legacy_format = NOT_GIVEN, legacy_background_color = NOT_GIVEN, legacy_text_color = NOT_GIVEN, legacy_text = NOT_GIVEN, size: '300x300', format: 'png', background_color: nil, text_color: nil, text: nil)
|
|
10
|
+
# rubocop:enable Metrics/ParameterLists
|
|
11
|
+
warn_for_deprecated_arguments do |keywords|
|
|
12
|
+
keywords << :size if legacy_size != NOT_GIVEN
|
|
13
|
+
keywords << :format if legacy_format != NOT_GIVEN
|
|
14
|
+
keywords << :background_color if legacy_background_color != NOT_GIVEN
|
|
15
|
+
keywords << :text_color if legacy_text_color != NOT_GIVEN
|
|
16
|
+
keywords << :text if legacy_text != NOT_GIVEN
|
|
17
|
+
end
|
|
18
|
+
|
|
9
19
|
background_color = generate_color if background_color == :random
|
|
10
20
|
text_color = generate_color if text_color == :random
|
|
11
21
|
|
|
@@ -3,10 +3,28 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class ProgrammingLanguage < Base
|
|
5
5
|
class << self
|
|
6
|
+
##
|
|
7
|
+
# Produces the name of a programming language.
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
#
|
|
11
|
+
# @example
|
|
12
|
+
# Faker::ProgrammingLanguage.name #=> "Ruby"
|
|
13
|
+
#
|
|
14
|
+
# @faker.version 1.8.5
|
|
6
15
|
def name
|
|
7
16
|
fetch('programming_language.name')
|
|
8
17
|
end
|
|
9
18
|
|
|
19
|
+
##
|
|
20
|
+
# Produces the name of a programming language's creator.
|
|
21
|
+
#
|
|
22
|
+
# @return [String]
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
# Faker::ProgrammingLanguage.creator #=> "Yukihiro Matsumoto"
|
|
26
|
+
#
|
|
27
|
+
# @faker.version 1.8.5
|
|
10
28
|
def creator
|
|
11
29
|
fetch('programming_language.creator')
|
|
12
30
|
end
|
|
@@ -5,7 +5,11 @@ module Faker
|
|
|
5
5
|
flexible :relationship
|
|
6
6
|
|
|
7
7
|
class << self
|
|
8
|
-
def familial(connection: nil)
|
|
8
|
+
def familial(legacy_connection = NOT_GIVEN, connection: nil)
|
|
9
|
+
warn_for_deprecated_arguments do |keywords|
|
|
10
|
+
keywords << :connection if legacy_connection != NOT_GIVEN
|
|
11
|
+
end
|
|
12
|
+
|
|
9
13
|
familial_connections = translate('faker.relationship.familial').keys
|
|
10
14
|
|
|
11
15
|
if connection.nil?
|
|
@@ -4,8 +4,60 @@ module Faker
|
|
|
4
4
|
class Restaurant < Base
|
|
5
5
|
flexible :restaurant
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
class << self
|
|
8
|
+
##
|
|
9
|
+
# Produces the name of a restaurant.
|
|
10
|
+
#
|
|
11
|
+
# @return [String]
|
|
12
|
+
#
|
|
13
|
+
# @example
|
|
14
|
+
# Faker::Restaurant.name #=> "Curry King"
|
|
15
|
+
#
|
|
16
|
+
# @faker.version 1.9.2
|
|
17
|
+
def name
|
|
18
|
+
bothify(parse('restaurant.name'))
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
##
|
|
22
|
+
# Produces a type of restaurant.
|
|
23
|
+
#
|
|
24
|
+
# @return [String]
|
|
25
|
+
#
|
|
26
|
+
# @example
|
|
27
|
+
# Faker::Restaurant.type #=> "Comfort Food"
|
|
28
|
+
#
|
|
29
|
+
# @faker.version 1.9.2
|
|
30
|
+
def type
|
|
31
|
+
fetch('restaurant.type')
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
##
|
|
35
|
+
# Produces a description of a restaurant.
|
|
36
|
+
#
|
|
37
|
+
# @return [String]
|
|
38
|
+
#
|
|
39
|
+
# @example
|
|
40
|
+
# Faker::Restaurant.description
|
|
41
|
+
# #=> "We are committed to using the finest ingredients in our recipes. No food leaves our kitchen that we ourselves would not eat."
|
|
42
|
+
#
|
|
43
|
+
# @faker.version 1.9.2
|
|
44
|
+
def description
|
|
45
|
+
fetch('restaurant.description')
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
##
|
|
49
|
+
# Produces a review for a restaurant.
|
|
50
|
+
#
|
|
51
|
+
# @return [String]
|
|
52
|
+
#
|
|
53
|
+
# @example
|
|
54
|
+
# Faker::Restaurant.review
|
|
55
|
+
# #=> "Brand new. Great design. Odd to hear pop music in a Mexican establishment. Music is a bit loud. It should be background."
|
|
56
|
+
#
|
|
57
|
+
# @faker.version 1.9.2
|
|
58
|
+
def review
|
|
59
|
+
fetch('restaurant.review')
|
|
60
|
+
end
|
|
9
61
|
end
|
|
10
62
|
end
|
|
11
63
|
end
|
|
@@ -3,14 +3,41 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Science < Base
|
|
5
5
|
class << self
|
|
6
|
+
##
|
|
7
|
+
# Produces the name of a element.
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
#
|
|
11
|
+
# @example
|
|
12
|
+
# Faker::Science.element #=> "Carbon"
|
|
13
|
+
#
|
|
14
|
+
# @faker.version 1.8.5
|
|
6
15
|
def element
|
|
7
16
|
fetch('science.element')
|
|
8
17
|
end
|
|
9
18
|
|
|
19
|
+
##
|
|
20
|
+
# Produces the symbol of an element.
|
|
21
|
+
#
|
|
22
|
+
# @return [String]
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
# Faker::Science.element_symbol #=> "Pb"
|
|
26
|
+
#
|
|
27
|
+
# @faker.version 1.9.0
|
|
10
28
|
def element_symbol
|
|
11
29
|
fetch('science.element_symbol')
|
|
12
30
|
end
|
|
13
31
|
|
|
32
|
+
##
|
|
33
|
+
# Produces the name of a scientist.
|
|
34
|
+
#
|
|
35
|
+
# @return [String]
|
|
36
|
+
#
|
|
37
|
+
# @example
|
|
38
|
+
# Faker::Science.scientist #=> "Isaac Newton"
|
|
39
|
+
#
|
|
40
|
+
# @faker.version 1.8.5
|
|
14
41
|
def scientist
|
|
15
42
|
fetch('science.scientist')
|
|
16
43
|
end
|
data/lib/faker/default/source.rb
CHANGED
|
@@ -3,16 +3,72 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Source < Base
|
|
5
5
|
class << self
|
|
6
|
-
|
|
6
|
+
##
|
|
7
|
+
# Produces source code for Hello World in a given language.
|
|
8
|
+
#
|
|
9
|
+
# @param lang [Symbol] The programming language to use
|
|
10
|
+
# @return [String]
|
|
11
|
+
#
|
|
12
|
+
# @example
|
|
13
|
+
# Faker::Source.hello_world #=> "puts 'Hello World!'"
|
|
14
|
+
#
|
|
15
|
+
# @example
|
|
16
|
+
# Faker::Source.hello_world(lang: :javascript)
|
|
17
|
+
# #=> "alert('Hello World!');"
|
|
18
|
+
#
|
|
19
|
+
# @faker.version 1.9.0
|
|
20
|
+
def hello_world(legacy_lang = NOT_GIVEN, lang: :ruby)
|
|
21
|
+
warn_for_deprecated_arguments do |keywords|
|
|
22
|
+
keywords << :lang if legacy_lang != NOT_GIVEN
|
|
23
|
+
end
|
|
24
|
+
|
|
7
25
|
fetch("source.hello_world.#{lang}")
|
|
8
26
|
end
|
|
9
27
|
|
|
10
|
-
|
|
28
|
+
##
|
|
29
|
+
# Produces source code for printing a string in a given language.
|
|
30
|
+
#
|
|
31
|
+
# @param str [String] The string to print
|
|
32
|
+
# @param lang [Symbol] The programming language to use
|
|
33
|
+
# @return [String]
|
|
34
|
+
#
|
|
35
|
+
# @example
|
|
36
|
+
# Faker::Source.print #=> "puts 'faker_string_to_print'"
|
|
37
|
+
# @example
|
|
38
|
+
# Faker::Source.print(str: 'foo bar', lang: :javascript)
|
|
39
|
+
# #=> "console.log('foo bar');"
|
|
40
|
+
#
|
|
41
|
+
# @faker.version 1.9.0
|
|
42
|
+
def print(legacy_str = NOT_GIVEN, legacy_lang = NOT_GIVEN, str: 'some string', lang: :ruby)
|
|
43
|
+
warn_for_deprecated_arguments do |keywords|
|
|
44
|
+
keywords << :str if legacy_str != NOT_GIVEN
|
|
45
|
+
end
|
|
46
|
+
warn_for_deprecated_arguments do |keywords|
|
|
47
|
+
keywords << :lang if legacy_lang != NOT_GIVEN
|
|
48
|
+
end
|
|
11
49
|
code = fetch("source.print.#{lang}")
|
|
12
50
|
code.gsub('faker_string_to_print', str)
|
|
13
51
|
end
|
|
14
52
|
|
|
15
|
-
|
|
53
|
+
##
|
|
54
|
+
# Produces source code for printing 1 through 10 in a given language.
|
|
55
|
+
#
|
|
56
|
+
# @param lang [Symbol] The programming language to use
|
|
57
|
+
# @return [String]
|
|
58
|
+
#
|
|
59
|
+
# @example
|
|
60
|
+
# Faker::Source.print_1_to_10 #=> "(1..10).each { |i| puts i }"
|
|
61
|
+
# @example
|
|
62
|
+
# Faker::Source.print_1_to_10(lang: :javascript)
|
|
63
|
+
# # => "for (let i=0; i<10; i++) {
|
|
64
|
+
# # console.log(i);
|
|
65
|
+
# # }"
|
|
66
|
+
#
|
|
67
|
+
# @faker.version 1.9.0
|
|
68
|
+
def print_1_to_10(legacy_lang = NOT_GIVEN, lang: :ruby)
|
|
69
|
+
warn_for_deprecated_arguments do |keywords|
|
|
70
|
+
keywords << :lang if legacy_lang != NOT_GIVEN
|
|
71
|
+
end
|
|
16
72
|
fetch("source.print_1_to_10.#{lang}")
|
|
17
73
|
end
|
|
18
74
|
end
|
data/lib/faker/default/string.rb
CHANGED
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class String < Base
|
|
5
5
|
class << self
|
|
6
|
-
def random(length: 32)
|
|
6
|
+
def random(legacy_length = NOT_GIVEN, length: 32)
|
|
7
|
+
warn_for_deprecated_arguments do |keywords|
|
|
8
|
+
keywords << :length if legacy_length != NOT_GIVEN
|
|
9
|
+
end
|
|
10
|
+
|
|
7
11
|
utf8string select_a length
|
|
8
12
|
end
|
|
9
13
|
|
data/lib/faker/default/stripe.rb
CHANGED
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Stripe < Base
|
|
5
5
|
class << self
|
|
6
|
-
def valid_card(card_type: nil)
|
|
6
|
+
def valid_card(legacy_card_type = NOT_GIVEN, card_type: nil)
|
|
7
|
+
warn_for_deprecated_arguments do |keywords|
|
|
8
|
+
keywords << :card_type if legacy_card_type != NOT_GIVEN
|
|
9
|
+
end
|
|
10
|
+
|
|
7
11
|
valid_cards = translate('faker.stripe.valid_cards').keys
|
|
8
12
|
|
|
9
13
|
if card_type.nil?
|
|
@@ -18,7 +22,11 @@ module Faker
|
|
|
18
22
|
fetch('stripe.valid_cards.' + card_type)
|
|
19
23
|
end
|
|
20
24
|
|
|
21
|
-
def valid_token(card_type: nil)
|
|
25
|
+
def valid_token(legacy_card_type = NOT_GIVEN, card_type: nil)
|
|
26
|
+
warn_for_deprecated_arguments do |keywords|
|
|
27
|
+
keywords << :card_type if legacy_card_type != NOT_GIVEN
|
|
28
|
+
end
|
|
29
|
+
|
|
22
30
|
valid_tokens = translate('faker.stripe.valid_tokens').keys
|
|
23
31
|
|
|
24
32
|
if card_type.nil?
|
|
@@ -33,7 +41,11 @@ module Faker
|
|
|
33
41
|
fetch('stripe.valid_tokens.' + card_type)
|
|
34
42
|
end
|
|
35
43
|
|
|
36
|
-
def invalid_card(card_error: nil)
|
|
44
|
+
def invalid_card(legacy_card_error = NOT_GIVEN, card_error: nil)
|
|
45
|
+
warn_for_deprecated_arguments do |keywords|
|
|
46
|
+
keywords << :card_error if legacy_card_error != NOT_GIVEN
|
|
47
|
+
end
|
|
48
|
+
|
|
37
49
|
invalid_cards = translate('faker.stripe.invalid_cards').keys
|
|
38
50
|
|
|
39
51
|
if card_error.nil?
|
|
@@ -57,7 +69,11 @@ module Faker
|
|
|
57
69
|
rand_in_range(start_year, start_year + 5).to_s
|
|
58
70
|
end
|
|
59
71
|
|
|
60
|
-
def ccv(card_type: nil)
|
|
72
|
+
def ccv(legacy_card_type = NOT_GIVEN, card_type: nil)
|
|
73
|
+
warn_for_deprecated_arguments do |keywords|
|
|
74
|
+
keywords << :card_type if legacy_card_type != NOT_GIVEN
|
|
75
|
+
end
|
|
76
|
+
|
|
61
77
|
(card_type.to_s == 'amex' ? rand_in_range(1000, 9999) : rand_in_range(100, 999)).to_s
|
|
62
78
|
end
|
|
63
79
|
end
|