faker 2.20.0 → 3.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +346 -7
- data/History.md +1 -1
- data/README.md +193 -107
- data/lib/faker/blockchain/aeternity.rb +1 -1
- data/lib/faker/blockchain/ethereum.rb +1 -1
- data/lib/faker/blockchain/tezos.rb +1 -1
- 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 +9 -17
- data/lib/faker/default/boolean.rb +1 -4
- data/lib/faker/default/chile_rut.rb +25 -25
- data/lib/faker/default/code.rb +68 -39
- data/lib/faker/default/color.rb +77 -6
- data/lib/faker/default/commerce.rb +3 -17
- data/lib/faker/default/company.rb +50 -19
- data/lib/faker/default/crypto_coin.rb +3 -15
- data/lib/faker/default/date.rb +65 -42
- data/lib/faker/default/demographic.rb +1 -5
- data/lib/faker/default/driving_licence.rb +20 -19
- data/lib/faker/default/drone.rb +1 -1
- data/lib/faker/default/file.rb +5 -24
- data/lib/faker/default/finance.rb +17 -7
- data/lib/faker/default/food.rb +14 -1
- data/lib/faker/default/hipster.rb +6 -45
- data/lib/faker/default/html.rb +230 -0
- data/lib/faker/default/id_number.rb +125 -14
- data/lib/faker/default/internet.rb +116 -111
- data/lib/faker/default/invoice.rb +4 -17
- data/lib/faker/default/json.rb +2 -20
- data/lib/faker/default/lorem.rb +25 -74
- data/lib/faker/default/lorem_flickr.rb +4 -32
- data/lib/faker/default/markdown.rb +6 -11
- data/lib/faker/default/marketing.rb +1 -1
- data/lib/faker/default/measurement.rb +16 -48
- data/lib/faker/default/name.rb +1 -5
- data/lib/faker/default/nhs.rb +2 -6
- data/lib/faker/default/number.rb +10 -55
- data/lib/faker/default/omniauth.rb +6 -40
- data/lib/faker/default/phone_number.rb +2 -6
- data/lib/faker/default/placeholdit.rb +1 -12
- data/lib/faker/default/relationship.rb +1 -5
- data/lib/faker/default/release notes.md +59 -0
- 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 +7 -23
- data/lib/faker/default/types.rb +7 -28
- data/lib/faker/default/vehicle.rb +40 -51
- data/lib/faker/default/vulnerability_identifier.rb +23 -0
- data/lib/faker/default/world_cup.rb +2 -11
- data/lib/faker/games/clash_of_clans.rb +1 -1
- data/lib/faker/games/dnd.rb +49 -7
- data/lib/faker/games/dota.rb +1 -5
- data/lib/faker/games/final_fantasy_xiv.rb +73 -0
- data/lib/faker/games/minecraft.rb +1 -1
- data/lib/faker/games/myst.rb +1 -1
- data/lib/faker/games/tarkov.rb +205 -0
- data/lib/faker/japanese_media/cowboy_bebop.rb +61 -0
- data/lib/faker/japanese_media/kamen_rider.rb +2 -2
- data/lib/faker/japanese_media/one_piece.rb +1 -1
- data/lib/faker/movies/avatar.rb +49 -0
- data/lib/faker/movies/hackers.rb +48 -0
- data/lib/faker/movies/star_wars.rb +1 -5
- data/lib/faker/movies/tron.rb +161 -0
- data/lib/faker/quotes/quote.rb +13 -0
- data/lib/faker/sports/chess.rb +90 -0
- data/lib/faker/sports/mountaineering.rb +22 -0
- data/lib/faker/sports/sport.rb +116 -0
- data/lib/faker/travel/airport.rb +43 -0
- data/lib/faker/travel/train_station.rb +54 -0
- data/lib/faker/tv_shows/archer.rb +51 -0
- data/lib/faker/tv_shows/south_park.rb +15 -0
- data/lib/faker/tv_shows/spongebob.rb +50 -0
- data/lib/faker/version.rb +1 -1
- data/lib/faker.rb +26 -67
- data/lib/helpers/base58.rb +1 -1
- data/lib/helpers/positional_generator.rb +480 -0
- data/lib/helpers/unique_generator.rb +13 -11
- data/lib/locales/README.md +18 -2
- data/lib/locales/ar.yml +1 -0
- data/lib/locales/bg.yml +1 -1
- data/lib/locales/da-DK.yml +1 -1
- data/lib/locales/de-AT.yml +1 -2
- data/lib/locales/de-CH.yml +4336 -12
- data/lib/locales/de.yml +1 -1
- data/lib/locales/en/airport.yml +381 -0
- data/lib/locales/en/archer.yml +75 -0
- data/lib/locales/en/australia.yml +3 -4
- data/lib/locales/en/avatar.yml +31 -0
- data/lib/locales/en/chess.yml +103 -0
- data/lib/locales/en/company.yml +1 -0
- data/lib/locales/en/computer.yml +23 -4
- data/lib/locales/en/cowboy_bebop.yml +163 -0
- data/lib/locales/en/dnd.yml +186 -1
- data/lib/locales/en/dota.yml +113 -0
- data/lib/locales/en/file.yml +9 -1
- data/lib/locales/en/final_fantasy_xiv.yml +754 -0
- data/lib/locales/en/finance.yml +3 -1
- data/lib/locales/en/food.yml +12 -0
- data/lib/locales/en/game.yml +0 -1
- data/lib/locales/en/hackers.yml +53 -0
- data/lib/locales/en/heroes.yml +2 -2
- data/lib/locales/en/internet.yml +32 -0
- data/lib/locales/en/minecraft.yml +4 -4
- data/lib/locales/en/mitch_hedberg.yml +46 -0
- data/lib/locales/en/mountaineering.yml +14 -0
- data/lib/locales/en/movie.yml +2 -1
- data/lib/locales/en/naruto.yml +2 -3
- data/lib/locales/en/one_piece.yml +1 -1
- data/lib/locales/en/opera.yml +2 -2
- data/lib/locales/en/overwatch.yml +5 -7
- data/lib/locales/en/source.yml +5 -0
- data/lib/locales/en/south_park.yml +360 -2
- data/lib/locales/en/spongebob.yml +489 -0
- data/lib/locales/en/sport.yml +130 -0
- data/lib/locales/en/star_wars.yml +1 -1
- data/lib/locales/en/tarkov.yml +593 -0
- data/lib/locales/en/train_station.yml +280 -0
- data/lib/locales/en/tron.yml +227 -0
- data/lib/locales/en/vehicle.yml +2809 -75
- data/lib/locales/en-AU.yml +2 -2
- data/lib/locales/en-CA.yml +2 -1
- data/lib/locales/en-GB.yml +2 -1
- data/lib/locales/en-MS.yml +1 -0
- data/lib/locales/en-NG.yml +1 -0
- data/lib/locales/en-NZ.yml +1 -0
- data/lib/locales/en-PAK.yml +1 -0
- data/lib/locales/en-SG.yml +1 -0
- data/lib/locales/en-UG.yml +1 -0
- data/lib/locales/en-US.yml +1 -1
- data/lib/locales/en-ZA.yml +1 -1
- data/lib/locales/en-au-ocker.yml +2 -0
- data/lib/locales/es-AR.yml +3 -2
- data/lib/locales/es-MX.yml +1 -1
- data/lib/locales/es.yml +2 -2
- data/lib/locales/fi-FI.yml +3 -1
- data/lib/locales/fr/address.yml +0 -1
- data/lib/locales/fr/adjective.yml +266 -0
- data/lib/locales/fr/ancient.yml +141 -0
- data/lib/locales/fr/name.yml +2 -1
- data/lib/locales/fr-CA.yml +1 -1
- data/lib/locales/fr-CH.yml +1 -1
- data/lib/locales/hy.yml +2 -1
- data/lib/locales/it.yml +1 -0
- data/lib/locales/ja/adjective.yml +148 -0
- data/lib/locales/ja/dog.yml +1 -0
- data/lib/locales/ja/emotion.yml +51 -0
- data/lib/locales/ja/naruto.yml +230 -0
- data/lib/locales/ja/relationship.yml +10 -0
- data/lib/locales/ja/sport.yml +130 -0
- data/lib/locales/ja/super_mario.yml +1 -1
- data/lib/locales/ko.yml +1 -0
- data/lib/locales/lt.yml +0 -1
- data/lib/locales/mi-NZ.yml +2 -0
- data/lib/locales/nb-NO.yml +1 -0
- data/lib/locales/nl.yml +1 -0
- data/lib/locales/pl.yml +2 -2
- data/lib/locales/pt-BR.yml +1 -0
- data/lib/locales/pt.yml +1 -1
- data/lib/locales/ru.yml +1 -0
- data/lib/locales/sk.yml +1 -0
- data/lib/locales/sv.yml +1 -0
- data/lib/locales/th.yml +76 -76
- data/lib/locales/tr.yml +1 -0
- data/lib/locales/uk.yml +3 -0
- data/lib/locales/vi.yml +1 -0
- data/lib/locales/zh-CN.yml +1 -0
- data/lib/locales/zh-TW.yml +1 -0
- metadata +46 -127
- data/lib/faker/default/fillmurray.rb +0 -45
- data/lib/faker/default/lorem_pixel.rb +0 -70
- /data/lib/faker/default/{faker_adjective.rb → adjective.rb} +0 -0
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Movies
|
5
|
+
class Avatar < Base
|
6
|
+
class << self
|
7
|
+
##
|
8
|
+
# Produces a character from Avatar.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
#
|
12
|
+
# @example
|
13
|
+
# Faker::Movies::Avatar.character #=> "Jake Sully"
|
14
|
+
#
|
15
|
+
# @faker.version next
|
16
|
+
def character
|
17
|
+
fetch('avatar.characters')
|
18
|
+
end
|
19
|
+
|
20
|
+
##
|
21
|
+
# Produces a date from Avatar.
|
22
|
+
#
|
23
|
+
# @return [String]
|
24
|
+
#
|
25
|
+
# @example
|
26
|
+
# Faker::Movies::Avatar.date #=> "December 15, 2022"
|
27
|
+
#
|
28
|
+
# @faker.version next
|
29
|
+
def date
|
30
|
+
fetch('avatar.dates')
|
31
|
+
end
|
32
|
+
|
33
|
+
##
|
34
|
+
# Produces a quote from Avatar.
|
35
|
+
#
|
36
|
+
# @return [String]
|
37
|
+
#
|
38
|
+
# @example
|
39
|
+
# Faker::Movies::Avatar.quote
|
40
|
+
# #=> "If it ain't raining, we ain't training."
|
41
|
+
#
|
42
|
+
# @faker.version next
|
43
|
+
def quote
|
44
|
+
fetch('avatar.quotes')
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Movies
|
5
|
+
class Hackers < Base
|
6
|
+
class << self
|
7
|
+
##
|
8
|
+
# Produces a real character name from Hackers.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
#
|
12
|
+
# @example
|
13
|
+
# Faker::Movies::Hackers.character #=> "Dade Murphy"
|
14
|
+
#
|
15
|
+
# @faker.version next
|
16
|
+
def character
|
17
|
+
fetch('hackers.characters')
|
18
|
+
end
|
19
|
+
|
20
|
+
##
|
21
|
+
# Produces a character hacker "handle" from Hackers.
|
22
|
+
#
|
23
|
+
# @return [String]
|
24
|
+
#
|
25
|
+
# @example
|
26
|
+
# Faker::Movies::Hackers.handle #=> "Zero Cool"
|
27
|
+
#
|
28
|
+
# @faker.version next
|
29
|
+
def handle
|
30
|
+
fetch('hackers.handles')
|
31
|
+
end
|
32
|
+
|
33
|
+
##
|
34
|
+
# Produces a quote from Hackers.
|
35
|
+
#
|
36
|
+
# @return [String]
|
37
|
+
#
|
38
|
+
# @example
|
39
|
+
# Faker::Movies::Hackers.quote #=> "Hack the Planet!"
|
40
|
+
#
|
41
|
+
# @faker.version next
|
42
|
+
def quote
|
43
|
+
fetch('hackers.quotes')
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -138,11 +138,7 @@ module Faker
|
|
138
138
|
# #=> "Aren't you a little short for a Stormtrooper?"
|
139
139
|
#
|
140
140
|
# @faker.version 1.6.2
|
141
|
-
def quote(
|
142
|
-
warn_for_deprecated_arguments do |keywords|
|
143
|
-
keywords << :character if legacy_character != NOT_GIVEN
|
144
|
-
end
|
145
|
-
|
141
|
+
def quote(character: nil)
|
146
142
|
quoted_characters = translate('faker.star_wars.quotes')
|
147
143
|
|
148
144
|
if character.nil?
|
@@ -0,0 +1,161 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Movies
|
5
|
+
class Tron < Base
|
6
|
+
class << self
|
7
|
+
##
|
8
|
+
# Produces a character from Tron.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
#
|
12
|
+
# @example
|
13
|
+
# Faker::Movies::Tron.character #=> "Bit"
|
14
|
+
#
|
15
|
+
# @faker.version next
|
16
|
+
def character
|
17
|
+
sample(characters)
|
18
|
+
end
|
19
|
+
|
20
|
+
##
|
21
|
+
# Produces a game from Tron.
|
22
|
+
#
|
23
|
+
# @return [String]
|
24
|
+
#
|
25
|
+
# @example
|
26
|
+
# Faker::Movies::Tron.game #=> "Space Paranoids"
|
27
|
+
#
|
28
|
+
# @faker.version next
|
29
|
+
def game
|
30
|
+
sample(games)
|
31
|
+
end
|
32
|
+
|
33
|
+
##
|
34
|
+
# Produces a location from Tron.
|
35
|
+
#
|
36
|
+
# @return [String]
|
37
|
+
#
|
38
|
+
# @example
|
39
|
+
# Faker::Movies::Tron.location #=> "Flynn's Arcade"
|
40
|
+
#
|
41
|
+
# @faker.version next
|
42
|
+
def location
|
43
|
+
sample(locations)
|
44
|
+
end
|
45
|
+
|
46
|
+
##
|
47
|
+
# Produces a program from Tron.
|
48
|
+
#
|
49
|
+
# @return [String]
|
50
|
+
#
|
51
|
+
# @example
|
52
|
+
# Faker::Movies::Tron.program #=> "Clu"
|
53
|
+
#
|
54
|
+
# @faker.version next
|
55
|
+
def program
|
56
|
+
sample(programs)
|
57
|
+
end
|
58
|
+
|
59
|
+
##
|
60
|
+
# Produces a quote from Tron.
|
61
|
+
#
|
62
|
+
# @param character [String] The name of a character to derive a quote from.
|
63
|
+
# @return [String]
|
64
|
+
#
|
65
|
+
# @example
|
66
|
+
# Faker::Movies::Tron.quote #=> "Greetings, Programs!"
|
67
|
+
#
|
68
|
+
# @example
|
69
|
+
# Faker::Movies::Tron.quote(character: "mcp")
|
70
|
+
# #=> "End of Line."
|
71
|
+
#
|
72
|
+
# @faker.version next
|
73
|
+
def quote(character: nil)
|
74
|
+
quoted_characters = translate('faker.tron.quotes')
|
75
|
+
|
76
|
+
if character.nil?
|
77
|
+
character = sample(quoted_characters.keys).to_s
|
78
|
+
else
|
79
|
+
character = character.to_s.downcase
|
80
|
+
|
81
|
+
# check alternate spellings, nicknames, titles of characters
|
82
|
+
translate('faker.tron.alternate_character_spellings').each do |k, v|
|
83
|
+
character = k.to_s if v.include?(character)
|
84
|
+
end
|
85
|
+
|
86
|
+
raise ArgumentError, "Character for quotes can be left blank or #{quoted_characters.keys.join(', ')}" unless quoted_characters.key?(character.to_sym)
|
87
|
+
end
|
88
|
+
|
89
|
+
fetch("tron.quotes.#{character}")
|
90
|
+
end
|
91
|
+
|
92
|
+
##
|
93
|
+
# Produces a tagline from Tron.
|
94
|
+
#
|
95
|
+
# @return [String]
|
96
|
+
#
|
97
|
+
# @example
|
98
|
+
# Faker::Movies::Tron.tagline #=> "The Electronic Gladiator"
|
99
|
+
#
|
100
|
+
# @faker.version next
|
101
|
+
def tagline
|
102
|
+
sample(taglines)
|
103
|
+
end
|
104
|
+
|
105
|
+
##
|
106
|
+
# Produces a user from Tron.
|
107
|
+
#
|
108
|
+
# @return [String]
|
109
|
+
#
|
110
|
+
# @example
|
111
|
+
# Faker::Movies::Tron.user #=> "Light Cycle"
|
112
|
+
#
|
113
|
+
# @faker.version next
|
114
|
+
def user
|
115
|
+
sample(users)
|
116
|
+
end
|
117
|
+
|
118
|
+
##
|
119
|
+
# Produces a vehicle from Tron.
|
120
|
+
#
|
121
|
+
# @return [String]
|
122
|
+
#
|
123
|
+
# @example
|
124
|
+
# Faker::Movies::Tron.vehicle #=> "Light Cycle"
|
125
|
+
#
|
126
|
+
# @faker.version next
|
127
|
+
def vehicle
|
128
|
+
sample(vehicles)
|
129
|
+
end
|
130
|
+
|
131
|
+
def characters
|
132
|
+
translate('faker.tron.characters').values.flatten
|
133
|
+
end
|
134
|
+
|
135
|
+
def games
|
136
|
+
fetch_all('tron.games')
|
137
|
+
end
|
138
|
+
|
139
|
+
def locations
|
140
|
+
fetch_all('tron.locations')
|
141
|
+
end
|
142
|
+
|
143
|
+
def programs
|
144
|
+
fetch_all('tron.characters.programs')
|
145
|
+
end
|
146
|
+
|
147
|
+
def taglines
|
148
|
+
fetch_all('tron.taglines')
|
149
|
+
end
|
150
|
+
|
151
|
+
def users
|
152
|
+
fetch_all('tron.characters.users')
|
153
|
+
end
|
154
|
+
|
155
|
+
def vehicles
|
156
|
+
fetch_all('tron.vehicles')
|
157
|
+
end
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|
data/lib/faker/quotes/quote.rb
CHANGED
@@ -106,6 +106,19 @@ module Faker
|
|
106
106
|
def fortune_cookie
|
107
107
|
fetch('quote.fortune_cookie')
|
108
108
|
end
|
109
|
+
|
110
|
+
##
|
111
|
+
# Produces a quote from comedian Mitch Hedberg.
|
112
|
+
#
|
113
|
+
# @return [String]
|
114
|
+
#
|
115
|
+
# @example
|
116
|
+
# Faker::Quote.mitch_hedberg # => "I like Kit-Kats, unless I'm with four or more people."
|
117
|
+
#
|
118
|
+
# @faker.version next
|
119
|
+
def mitch_hedberg
|
120
|
+
fetch('quote.mitch_hedberg')
|
121
|
+
end
|
109
122
|
end
|
110
123
|
end
|
111
124
|
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Sports
|
5
|
+
class Chess < Base
|
6
|
+
class << self
|
7
|
+
##
|
8
|
+
# Produces the name of a chess player name.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
#
|
12
|
+
# @example
|
13
|
+
# Faker::Sports::Chess.player #=> "Golden State Warriors"
|
14
|
+
#
|
15
|
+
# @faker.version next
|
16
|
+
def player
|
17
|
+
fetch('chess.players')
|
18
|
+
end
|
19
|
+
|
20
|
+
##
|
21
|
+
# Produces a long (alpha-3) ISO 3166 country code.
|
22
|
+
#
|
23
|
+
# @return [String]
|
24
|
+
#
|
25
|
+
# @example
|
26
|
+
# Faker::Chess.federation #=> "COL"
|
27
|
+
#
|
28
|
+
# @faker.version next
|
29
|
+
def federation
|
30
|
+
Faker::Address.country_code_long
|
31
|
+
end
|
32
|
+
|
33
|
+
def tournament
|
34
|
+
##
|
35
|
+
# Produces the name of a famous chess tournament name.
|
36
|
+
#
|
37
|
+
# @return [String]
|
38
|
+
#
|
39
|
+
# @example
|
40
|
+
# Faker::Chess.tournament #=> "Khanty-Mansisyk (Candidates Tournament)"
|
41
|
+
#
|
42
|
+
# @faker.version next
|
43
|
+
fetch('chess.tournaments')
|
44
|
+
end
|
45
|
+
|
46
|
+
def rating(from: 2000, to: 2900)
|
47
|
+
##
|
48
|
+
# Produces a rating between two provided values. Boundaries are inclusive.
|
49
|
+
#
|
50
|
+
# @param from [Numeric] The lowest number to include.
|
51
|
+
# @param to [Numeric] The highest number to include.
|
52
|
+
# @return [Numeric]
|
53
|
+
#
|
54
|
+
# @example
|
55
|
+
# Faker::Sports::Chess.rating #=> 2734
|
56
|
+
# Faker::Sports::Chess.rating(from: 2400, to: 2700) #=> 2580
|
57
|
+
#
|
58
|
+
# @faker.version next
|
59
|
+
Faker::Base.rand_in_range(from, to)
|
60
|
+
end
|
61
|
+
|
62
|
+
##
|
63
|
+
# Produces the name of a chess opening.
|
64
|
+
#
|
65
|
+
# @return [String]
|
66
|
+
#
|
67
|
+
# @example
|
68
|
+
# Faker::Sports::Chess.opening #=> "Giuoco Piano"
|
69
|
+
#
|
70
|
+
# @faker.version next
|
71
|
+
def opening
|
72
|
+
fetch('chess.openings')
|
73
|
+
end
|
74
|
+
|
75
|
+
##
|
76
|
+
# Produces a chess title.
|
77
|
+
#
|
78
|
+
# @return [String]
|
79
|
+
#
|
80
|
+
# @example
|
81
|
+
# Faker::Sports::Chess.title #=> "GM"
|
82
|
+
#
|
83
|
+
# @faker.version next
|
84
|
+
def title
|
85
|
+
fetch('chess.titles')
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Sports
|
5
|
+
class Mountaineering < Base
|
6
|
+
class << self
|
7
|
+
##
|
8
|
+
# Produces the name of a Mountaineer.
|
9
|
+
#
|
10
|
+
# @return [String]
|
11
|
+
#
|
12
|
+
# @example
|
13
|
+
# Faker::Sports::Mountaineering.mountaineer #=> "Junko Tabei"
|
14
|
+
#
|
15
|
+
# @faker.version next
|
16
|
+
def mountaineer
|
17
|
+
fetch('mountaineering.mountaineer')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,116 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Sport < Base
|
5
|
+
class << self
|
6
|
+
##
|
7
|
+
# Produces a sport from the modern olympics or paralympics, summer or winter.
|
8
|
+
#
|
9
|
+
# @param include_ancient [Boolean] If true, may produce a sport from the ancient olympics
|
10
|
+
# @param include_unusual [Boolean] If true, may produce an unusual (definitely not olympic) sport
|
11
|
+
#
|
12
|
+
# @return [String]
|
13
|
+
#
|
14
|
+
# @example
|
15
|
+
# Faker::Sport.sport #=> "Football"
|
16
|
+
# @example
|
17
|
+
# Faker::Sport.sport(include_ancient: true) #=> "Chariot racing"
|
18
|
+
# @example
|
19
|
+
# Faker::Sport.sport(include_unsual: true) #=> "Flugtag/Birdman"
|
20
|
+
# @example
|
21
|
+
# Faker::Sport.sport(include_ancient:true, include_unusual: true) #=> "Water polo"
|
22
|
+
#
|
23
|
+
# @faker.version next
|
24
|
+
def sport(include_ancient: false, include_unusual: false)
|
25
|
+
sports = []
|
26
|
+
sports.concat(
|
27
|
+
fetch_all('sport.summer_olympics'),
|
28
|
+
fetch_all('sport.summer_paralympics'),
|
29
|
+
fetch_all('sport.winter_olympics'),
|
30
|
+
fetch_all('sport.winter_paralympics')
|
31
|
+
)
|
32
|
+
sports.concat(fetch_all('sport.ancient_olympics')) if include_ancient
|
33
|
+
sports.concat(fetch_all('sport.unusual')) if include_unusual
|
34
|
+
sample(sports)
|
35
|
+
end
|
36
|
+
|
37
|
+
##
|
38
|
+
# Produces a sport from the summer olympics.
|
39
|
+
#
|
40
|
+
# @return [String]
|
41
|
+
#
|
42
|
+
# @example
|
43
|
+
# Faker::Sport.summer_olympics_sport #=> "Archery"
|
44
|
+
#
|
45
|
+
# @faker.version next
|
46
|
+
def summer_olympics_sport
|
47
|
+
fetch('sport.summer_olympics')
|
48
|
+
end
|
49
|
+
|
50
|
+
##
|
51
|
+
# Produces a sport from the winter olympics.
|
52
|
+
#
|
53
|
+
# @return [String]
|
54
|
+
#
|
55
|
+
# @example
|
56
|
+
# Faker::Sport.winter_olympics_sport #=> "Bobsleigh"
|
57
|
+
#
|
58
|
+
# @faker.version next
|
59
|
+
def winter_olympics_sport
|
60
|
+
fetch('sport.winter_olympics')
|
61
|
+
end
|
62
|
+
|
63
|
+
##
|
64
|
+
# Produces a sport from the summer paralympics.
|
65
|
+
#
|
66
|
+
# @return [String]
|
67
|
+
#
|
68
|
+
# @example
|
69
|
+
# Faker::Sport.summer_paralympics_sport #=> "Wheelchair Basketball"
|
70
|
+
#
|
71
|
+
# @faker.version next
|
72
|
+
def summer_paralympics_sport
|
73
|
+
fetch('sport.summer_paralympics')
|
74
|
+
end
|
75
|
+
|
76
|
+
##
|
77
|
+
# Produces a sport from the winter paralympics.
|
78
|
+
#
|
79
|
+
# @return [String]
|
80
|
+
#
|
81
|
+
# @example
|
82
|
+
# Faker::Sport.winter_paralympics_sport #=> "Para Ice Hockey"
|
83
|
+
#
|
84
|
+
# @faker.version next
|
85
|
+
def winter_paralympics_sport
|
86
|
+
fetch('sport.winter_paralympics')
|
87
|
+
end
|
88
|
+
|
89
|
+
##
|
90
|
+
# Produces an unusual sport.
|
91
|
+
#
|
92
|
+
# @return [String]
|
93
|
+
#
|
94
|
+
# @example
|
95
|
+
# Faker::Sport.unusual_sport #=> "Camel Jumping"
|
96
|
+
#
|
97
|
+
# @faker.version next
|
98
|
+
def unusual_sport
|
99
|
+
fetch('sport.unusual')
|
100
|
+
end
|
101
|
+
|
102
|
+
##
|
103
|
+
# Produces a sport from the ancient olympics.
|
104
|
+
#
|
105
|
+
# @return [String]
|
106
|
+
#
|
107
|
+
# @example
|
108
|
+
# Faker::Sport.ancient_olympics_sport #=> "Pankration"
|
109
|
+
#
|
110
|
+
# @faker.version next
|
111
|
+
def ancient_olympics_sport
|
112
|
+
fetch('sport.ancient_olympics')
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Travel
|
5
|
+
class Airport < Base
|
6
|
+
class << self
|
7
|
+
##
|
8
|
+
# Produces random Airport by name and takes arguments for size and region
|
9
|
+
#
|
10
|
+
# @param size [String] airport size, united_states has large, or medium, or small, european_union has large, or medium
|
11
|
+
#
|
12
|
+
# @param region [String] airport region, currently available -> united_states or european_union
|
13
|
+
#
|
14
|
+
# @return [String]
|
15
|
+
#
|
16
|
+
# @example
|
17
|
+
# Faker::Travel::Airport.name(size: 'large', region: 'united_states') => "Los Angeles International Airport"
|
18
|
+
#
|
19
|
+
# @faker.version next
|
20
|
+
def name(size:, region:)
|
21
|
+
fetch("airport.#{region}.#{size}")
|
22
|
+
end
|
23
|
+
|
24
|
+
##
|
25
|
+
# Produces random Airport by IATA code and takes arguments for size and region
|
26
|
+
#
|
27
|
+
# @param size [String] airport size, united_states has large, or medium, or small, european_union has large, or medium
|
28
|
+
#
|
29
|
+
# @param region [String] airport region, currently available -> united_states or european_union
|
30
|
+
#
|
31
|
+
# @return [String]
|
32
|
+
#
|
33
|
+
# @example
|
34
|
+
# Faker::Travel::Airport.iata(size: 'large', region: 'united_states') => "LAX"
|
35
|
+
#
|
36
|
+
# @faker.version next
|
37
|
+
def iata(size:, region:)
|
38
|
+
fetch("airport.#{region}.iata_code.#{size}")
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class Travel
|
5
|
+
class TrainStation < Base
|
6
|
+
class << self
|
7
|
+
##
|
8
|
+
# Produces random Train Station by name and takes optional arguments for region and type
|
9
|
+
#
|
10
|
+
# @param region [String] Train station region: germany, spain, united_kingdom, united_states
|
11
|
+
#
|
12
|
+
# @param type [String] Train station type: metro, railway
|
13
|
+
#
|
14
|
+
# @return [String]
|
15
|
+
#
|
16
|
+
# @examples
|
17
|
+
# Faker::Travel::TrainStation.name(region: 'united_kingdom', type: 'metro') => "Brockley"
|
18
|
+
# Faker::Travel::TrainStation.name(type: 'railway') => "Düsseldorf Hauptbahnhof"
|
19
|
+
# Faker::Travel::TrainStation.name(region: 'spain') => "Santa Eulàlia"
|
20
|
+
#
|
21
|
+
# @faker.version next
|
22
|
+
def name(region: nil, type: nil)
|
23
|
+
region, type = fill_missing_inputs_with_samples(region, type)
|
24
|
+
fetch("train_station.#{region}.#{type}")
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def fill_missing_inputs_with_samples(region, type)
|
30
|
+
regions = %w[germany spain united_kingdom united_states]
|
31
|
+
types = %w[metro railway]
|
32
|
+
|
33
|
+
if region.nil? && type.nil?
|
34
|
+
region = sample(regions)
|
35
|
+
type = sample(types)
|
36
|
+
elsif region.nil?
|
37
|
+
validate_arguments(type, types, 'type')
|
38
|
+
region = sample(regions)
|
39
|
+
elsif type.nil?
|
40
|
+
validate_arguments(region, regions, 'region')
|
41
|
+
type = sample(types)
|
42
|
+
end
|
43
|
+
[region, type]
|
44
|
+
end
|
45
|
+
|
46
|
+
def validate_arguments(argument, correct_values, argument_name)
|
47
|
+
return if correct_values.include?(argument)
|
48
|
+
|
49
|
+
raise ArgumentError, "'#{argument}' not found, #{argument_name} can be blank, or one of the following, as strings: #{correct_values.join(', ')}"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Faker
|
4
|
+
class TvShows
|
5
|
+
class Archer < Base
|
6
|
+
flexible :archer
|
7
|
+
|
8
|
+
class << self
|
9
|
+
##
|
10
|
+
# Produces a character from Archer.
|
11
|
+
#
|
12
|
+
# @return [String]
|
13
|
+
#
|
14
|
+
# @example
|
15
|
+
# Faker::TvShows::Archer.character #=> "Sterling Archer"
|
16
|
+
#
|
17
|
+
# @faker.version next
|
18
|
+
def character
|
19
|
+
fetch('archer.characters')
|
20
|
+
end
|
21
|
+
|
22
|
+
##
|
23
|
+
# Produces a location from Archer.
|
24
|
+
#
|
25
|
+
# @return [String]
|
26
|
+
#
|
27
|
+
# @example
|
28
|
+
# Faker::TvShows::Archer.location #=> "The Tuntmore Towers"
|
29
|
+
#
|
30
|
+
# @faker.version next
|
31
|
+
def location
|
32
|
+
fetch('archer.locations')
|
33
|
+
end
|
34
|
+
|
35
|
+
##
|
36
|
+
# Produces a quote from Archer.
|
37
|
+
#
|
38
|
+
# @return [String]
|
39
|
+
#
|
40
|
+
# @example
|
41
|
+
# Faker::TvShows::Archer.quote
|
42
|
+
# #=> "You're not my supervisor!"
|
43
|
+
#
|
44
|
+
# @faker.version next
|
45
|
+
def quote
|
46
|
+
fetch('archer.quotes')
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -32,6 +32,21 @@ module Faker
|
|
32
32
|
def quote
|
33
33
|
fetch('south_park.quotes')
|
34
34
|
end
|
35
|
+
|
36
|
+
##
|
37
|
+
# Produces an episode name from South Park.
|
38
|
+
#
|
39
|
+
# @return [String]
|
40
|
+
#
|
41
|
+
# @example
|
42
|
+
# Faker::TvShows::SouthPark.episode_name
|
43
|
+
# #=> "Make Love, Not Warcraft"
|
44
|
+
#
|
45
|
+
# @faker.version next
|
46
|
+
|
47
|
+
def episode_name
|
48
|
+
fetch('south_park.episodes')
|
49
|
+
end
|
35
50
|
end
|
36
51
|
end
|
37
52
|
end
|