faker 2.15.1 → 3.4.2
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 +848 -34
- data/README.md +225 -103
- data/lib/faker/blockchain/aeternity.rb +1 -1
- data/lib/faker/blockchain/bitcoin.rb +2 -2
- data/lib/faker/blockchain/ethereum.rb +1 -1
- data/lib/faker/blockchain/tezos.rb +31 -3
- data/lib/faker/books/dune.rb +2 -10
- data/lib/faker/books/lovecraft.rb +9 -41
- data/lib/faker/books/the_kingkiller_chronicle.rb +61 -0
- data/lib/faker/creature/bird.rb +203 -0
- data/lib/faker/default/address.rb +7 -27
- 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 +25 -17
- data/lib/faker/default/barcode.rb +33 -22
- data/lib/faker/default/boolean.rb +1 -4
- data/lib/faker/default/cannabis.rb +10 -0
- data/lib/faker/default/chile_rut.rb +25 -25
- data/lib/faker/default/chuck_norris.rb +1 -0
- data/lib/faker/default/code.rb +71 -42
- data/lib/faker/default/color.rb +77 -6
- data/lib/faker/default/commerce.rb +31 -17
- data/lib/faker/default/company.rb +137 -22
- data/lib/faker/default/crypto.rb +26 -4
- 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 -18
- data/lib/faker/default/drone.rb +1 -1
- data/lib/faker/default/educator.rb +13 -0
- data/lib/faker/default/emotion.rb +33 -0
- data/lib/faker/default/file.rb +5 -22
- data/lib/faker/default/finance.rb +30 -7
- data/lib/faker/default/food.rb +27 -1
- data/lib/faker/default/hipster.rb +8 -48
- data/lib/faker/default/hobby.rb +22 -0
- data/lib/faker/default/html.rb +230 -0
- data/lib/faker/default/id_number.rb +175 -27
- data/lib/faker/default/internet.rb +333 -114
- data/lib/faker/default/invoice.rb +4 -17
- data/lib/faker/default/json.rb +4 -21
- data/lib/faker/default/lorem.rb +175 -73
- data/lib/faker/default/lorem_flickr.rb +4 -37
- data/lib/faker/default/markdown.rb +10 -13
- 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/nation.rb +0 -3
- data/lib/faker/default/{nhs.rb → national_health_service.rb} +9 -8
- data/lib/faker/default/number.rb +33 -61
- data/lib/faker/default/omniauth.rb +55 -52
- data/lib/faker/default/phone_number.rb +36 -21
- data/lib/faker/default/placeholdit.rb +10 -20
- data/lib/faker/default/relationship.rb +1 -5
- data/lib/faker/default/religion.rb +6 -0
- data/lib/faker/default/science.rb +108 -0
- data/lib/faker/default/source.rb +3 -16
- data/lib/faker/default/south_africa.rb +3 -3
- data/lib/faker/default/string.rb +1 -7
- data/lib/faker/default/stripe.rb +4 -20
- data/lib/faker/default/tea.rb +41 -0
- data/lib/faker/{music/show.rb → default/theater.rb} +11 -8
- data/lib/faker/default/time.rb +4 -34
- data/lib/faker/default/twitter.rb +7 -23
- data/lib/faker/default/types.rb +12 -34
- data/lib/faker/default/vehicle.rb +44 -54
- 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 +14 -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/games/touhou.rb +75 -0
- data/lib/faker/games/witcher.rb +39 -0
- data/lib/faker/japanese_media/cowboy_bebop.rb +61 -0
- data/lib/faker/japanese_media/fullmetal_alchemist_brotherhood.rb +51 -0
- data/lib/faker/japanese_media/kamen_rider.rb +102 -0
- data/lib/faker/japanese_media/one_piece.rb +1 -1
- data/lib/faker/locations/australia.rb +52 -0
- data/lib/faker/movies/avatar.rb +49 -0
- data/lib/faker/movies/hackers.rb +48 -0
- data/lib/faker/movies/star_wars.rb +73 -5
- data/lib/faker/movies/{room.rb → the_room.rb} +4 -4
- data/lib/faker/movies/tron.rb +161 -0
- data/lib/faker/music/hiphop.rb +3 -3
- data/lib/faker/music/music.rb +12 -0
- data/lib/faker/music/rock_band.rb +12 -0
- data/lib/faker/music/smashing_pumpkins.rb +64 -0
- data/lib/faker/quotes/quote.rb +13 -0
- data/lib/faker/quotes/rajnikanth.rb +1 -0
- data/lib/faker/quotes/shakespeare.rb +34 -0
- data/lib/faker/religion/bible.rb +50 -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/big_bang_theory.rb +1 -1
- data/lib/faker/tv_shows/brooklyn_nine_nine.rb +38 -0
- data/lib/faker/tv_shows/michael_scott.rb +0 -3
- data/lib/faker/tv_shows/south_park.rb +15 -0
- data/lib/faker/tv_shows/spongebob.rb +50 -0
- data/lib/faker/tv_shows/suits.rb +1 -1
- data/lib/faker/tv_shows/supernatural.rb +48 -0
- data/lib/faker/tv_shows/the_office.rb +37 -0
- data/lib/faker/version.rb +2 -2
- data/lib/faker.rb +26 -67
- data/lib/helpers/base58.rb +1 -1
- data/lib/helpers/deprecator.rb +53 -0
- data/lib/helpers/positional_generator.rb +480 -0
- data/lib/helpers/unique_generator.rb +13 -14
- data/lib/locales/README.md +18 -2
- data/lib/locales/ar.yml +6 -1
- data/lib/locales/bg.yml +1 -2
- data/lib/locales/da-DK.yml +529 -35
- data/lib/locales/de-AT.yml +3487 -27
- data/lib/locales/de-CH.yml +4328 -12
- data/lib/locales/de.yml +7185 -99
- data/lib/locales/ee.yml +0 -1
- data/lib/locales/en/address.yml +1826 -562
- data/lib/locales/en/airport.yml +381 -0
- data/lib/locales/en/animal.yml +1 -1
- data/lib/locales/en/archer.yml +75 -0
- data/lib/locales/en/australia.yml +108 -0
- data/lib/locales/en/avatar.yml +31 -0
- data/lib/locales/en/bank.yml +1 -1
- data/lib/locales/en/bible.yml +90 -0
- data/lib/locales/en/bird.yml +1281 -0
- data/lib/locales/en/book.yml +487 -3
- data/lib/locales/en/brooklyn_nine_nine.yml +35 -0
- data/lib/locales/en/cat.yml +1 -1
- data/lib/locales/en/chess.yml +103 -0
- data/lib/locales/en/coffee.yml +1 -1
- data/lib/locales/en/commerce.yml +17 -0
- data/lib/locales/en/community.yml +17 -17
- 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/device.yml +112 -4
- data/lib/locales/en/dnd.yml +186 -1
- data/lib/locales/en/dog.yml +262 -7
- data/lib/locales/en/dota.yml +173 -0
- data/lib/locales/en/dune.yml +266 -397
- data/lib/locales/en/educator.yml +6 -0
- data/lib/locales/en/emotion.yml +480 -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 +27 -4
- data/lib/locales/en/food.yml +1067 -10
- data/lib/locales/en/football.yml +3 -3
- data/lib/locales/en/fullmetal_alchemist_brotherhood.yml +78 -0
- data/lib/locales/en/game.yml +11 -0
- data/lib/locales/en/hackers.yml +53 -0
- data/lib/locales/en/harry_potter.yml +1 -1
- data/lib/locales/en/heroes.yml +2 -2
- data/lib/locales/en/hobby.yml +171 -0
- data/lib/locales/en/horse.yml +2 -2
- data/lib/locales/en/id_number.yml +1 -1
- data/lib/locales/en/internet.yml +136 -3
- data/lib/locales/en/kamen_rider.yml +452 -0
- data/lib/locales/en/kpop.yml +7 -7
- data/lib/locales/en/lebowski.yml +1 -1
- data/lib/locales/en/lovecraft.yml +76 -6
- data/lib/locales/en/minecraft.yml +4 -4
- data/lib/locales/en/mitch_hedberg.yml +46 -0
- data/lib/locales/en/mountain.yml +14 -1
- data/lib/locales/en/mountaineering.yml +14 -0
- data/lib/locales/en/movie.yml +2 -1
- data/lib/locales/en/music.yml +152 -142
- 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/phone_number.yml +78 -3
- data/lib/locales/en/rock_band.yml +1 -0
- data/lib/locales/en/science.yml +481 -3
- data/lib/locales/en/shakespeare.yml +21 -24
- data/lib/locales/en/smashing_pumpkins.yml +382 -0
- data/lib/locales/en/source.yml +5 -0
- data/lib/locales/en/south_park.yml +360 -2
- data/lib/locales/en/space.yml +1 -1
- 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/stranger_thing.yml +1 -1
- data/lib/locales/en/super_smash_bros.yml +7 -2
- data/lib/locales/en/supernatural.yml +141 -0
- data/lib/locales/en/tarkov.yml +593 -0
- data/lib/locales/en/tea.yml +172 -0
- data/lib/locales/en/the_kingkiller_chronicle.yml +56 -0
- data/lib/locales/en/the_office.yml +86 -0
- data/lib/locales/en/{room.yml → the_room.yml} +1 -1
- data/lib/locales/en/{show.yml → theater.yml} +1 -1
- data/lib/locales/en/touhou.yml +839 -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/witcher.yml +37 -0
- data/lib/locales/en-AU.yml +718 -47
- data/lib/locales/en-CA.yml +373 -18
- data/lib/locales/en-GB.yml +116 -8
- data/lib/locales/en-IND.yml +1259 -17
- data/lib/locales/en-KE.yml +212 -0
- data/lib/locales/en-MS.yml +364 -17
- data/lib/locales/en-NEP.yml +212 -38
- data/lib/locales/en-NG.yml +1 -0
- data/lib/locales/en-NZ.yml +1153 -123
- data/lib/locales/en-PAK.yml +369 -10
- data/lib/locales/en-SG.yml +581 -16
- data/lib/locales/en-UG.yml +1 -0
- data/lib/locales/en-US.yml +6914 -74
- data/lib/locales/en-ZA.yml +1 -1
- data/lib/locales/en-au-ocker.yml +266 -22
- data/lib/locales/es-AR.yml +4570 -0
- data/lib/locales/es-MX.yml +1 -2
- data/lib/locales/es.yml +2 -3
- data/lib/locales/fi-FI.yml +3 -1
- data/lib/locales/fr/address.yml +20 -0
- data/lib/locales/fr/adjective.yml +266 -0
- data/lib/locales/fr/ancient.yml +141 -0
- data/lib/locales/fr/animal.yml +5 -0
- data/lib/locales/fr/appliance.yml +4 -0
- data/lib/locales/fr/book.yml +7 -0
- data/lib/locales/fr/color.yml +4 -0
- data/lib/locales/fr/company.yml +17 -0
- data/lib/locales/fr/compass.yml +23 -0
- data/lib/locales/fr/demographic.yml +4 -0
- data/lib/locales/fr/gender.yml +6 -0
- data/lib/locales/fr/internet.yml +4 -0
- data/lib/locales/fr/lorem.yml +5 -0
- data/lib/locales/fr/measurement.yml +7 -0
- data/lib/locales/fr/name.yml +22 -0
- data/lib/locales/fr/phone_number.yml +7 -0
- data/lib/locales/fr/pokemon.yml +7 -0
- data/lib/locales/fr-CA.yml +2733 -44
- data/lib/locales/fr-CH.yml +1 -2
- data/lib/locales/fr.yml +2 -118
- data/lib/locales/hy.yml +3624 -119
- data/lib/locales/id.yml +839 -12
- data/lib/locales/it.yml +1304 -32
- data/lib/locales/ja/README.md +13 -0
- data/lib/locales/ja/address.yml +120539 -0
- data/lib/locales/ja/adjective.yml +148 -0
- data/lib/locales/ja/ancient.yml +4 -0
- data/lib/locales/ja/animal.yml +5 -0
- data/lib/locales/ja/bank.yml +4 -0
- data/lib/locales/ja/book.yml +7 -0
- data/lib/locales/ja/cat.yml +5 -0
- data/lib/locales/ja/coffee.yml +4 -0
- data/lib/locales/ja/color.yml +4 -0
- data/lib/locales/ja/commerce.yml +11 -0
- data/lib/locales/ja/company.yml +8 -0
- data/lib/locales/ja/dog.yml +6 -0
- data/lib/locales/ja/emotion.yml +51 -0
- data/lib/locales/ja/food.yml +4 -0
- data/lib/locales/ja/football.yml +115 -0
- data/lib/locales/ja/gender.yml +4 -0
- data/lib/locales/ja/lorem.yml +9 -0
- data/lib/locales/ja/name.yml +13 -0
- data/lib/locales/ja/naruto.yml +230 -0
- data/lib/locales/ja/overwatch.yml +5 -0
- data/lib/locales/ja/phone_number.yml +7 -0
- data/lib/locales/ja/pokemon.yml +7 -0
- data/lib/locales/ja/relationship.yml +10 -0
- data/lib/locales/ja/restaurant.yml +11 -0
- data/lib/locales/ja/space.yml +5 -0
- data/lib/locales/ja/sport.yml +130 -0
- data/lib/locales/ja/studio_ghibli.yml +112 -0
- data/lib/locales/ja/subscription.yml +8 -0
- data/lib/locales/ja/super_mario.yml +9 -0
- data/lib/locales/ja/super_smash_bros.yml +8 -0
- data/lib/locales/ja/touhou.yml +466 -0
- data/lib/locales/ja/university.yml +9 -0
- data/lib/locales/ja/zelda.yml +5 -0
- data/lib/locales/ko.yml +1361 -20
- data/lib/locales/lt.yml +315 -0
- data/lib/locales/lv.yml +1 -2
- data/lib/locales/mi-NZ.yml +283 -0
- data/lib/locales/nb-NO.yml +518 -29
- data/lib/locales/nl.yml +1 -1
- data/lib/locales/pl.yml +1 -2
- data/lib/locales/pt-BR.yml +8157 -660
- data/lib/locales/pt.yml +844 -45
- data/lib/locales/ru.yml +1355 -32
- data/lib/locales/sk.yml +4410 -43
- data/lib/locales/sv.yml +100 -0
- data/lib/locales/th.yml +76 -76
- data/lib/locales/tr.yml +1 -2
- data/lib/locales/uk.yml +1808 -44
- data/lib/locales/vi.yml +1 -0
- data/lib/locales/zh-CN/bank.yml +17 -0
- data/lib/locales/zh-CN.yml +1 -0
- data/lib/locales/zh-TW.yml +1 -0
- metadata +134 -133
- data/History.md +0 -176
- data/lib/faker/default/fillmurray.rb +0 -45
- data/lib/faker/default/lorem_pixel.rb +0 -69
- data/lib/locales/ja.yml +0 -105
- /data/lib/faker/default/{faker_adjective.rb → adjective.rb} +0 -0
|
@@ -3,6 +3,47 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Science < Base
|
|
5
5
|
class << self
|
|
6
|
+
BRANCHES = {
|
|
7
|
+
empirical: %i[empirical_natural_basic empirical_natural_applied empirical_social_basic empirical_social_applied],
|
|
8
|
+
formal: %i[formal_basic formal_applied],
|
|
9
|
+
natural: %i[empirical_natural_basic empirical_natural_applied],
|
|
10
|
+
social: %i[empirical_social_basic empirical_social_applied],
|
|
11
|
+
basic: %i[empirical_natural_basic empirical_social_basic formal_basic],
|
|
12
|
+
applied: %i[empirical_natural_applied empirical_social_applied formal_applied]
|
|
13
|
+
}.freeze
|
|
14
|
+
|
|
15
|
+
##
|
|
16
|
+
# Produces a name of a science
|
|
17
|
+
# You can optionally filter by specifying one or more of the following:
|
|
18
|
+
# `:empirical, :formal, :natural, :social, :basic, :applied`
|
|
19
|
+
# @see https://en.wikipedia.org/wiki/Science#Branches_of_science
|
|
20
|
+
# @see Faker::Educator.subject
|
|
21
|
+
#
|
|
22
|
+
# @param branches [Array<Symbol>]
|
|
23
|
+
# @return [String]
|
|
24
|
+
#
|
|
25
|
+
# @example
|
|
26
|
+
# Faker::Science.science #=> "Space science"
|
|
27
|
+
# Faker::Science.science(:natural, :applied) #=> "Engineering"
|
|
28
|
+
# Faker::Science.science(:formal, :applied) #=> "Computer Science"
|
|
29
|
+
#
|
|
30
|
+
# @faker.version next
|
|
31
|
+
def science(*branches)
|
|
32
|
+
selected = BRANCHES.values.flatten.uniq
|
|
33
|
+
branches.each do |branch|
|
|
34
|
+
selected &= BRANCHES[branch] if BRANCHES.key? branch
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
raise ArgumentError, 'Filters do not match any sciences' if selected.empty?
|
|
38
|
+
|
|
39
|
+
sciences = []
|
|
40
|
+
selected.each do |branch|
|
|
41
|
+
sciences += translate("faker.science.branch.#{branch}")
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
sample(sciences)
|
|
45
|
+
end
|
|
46
|
+
|
|
6
47
|
##
|
|
7
48
|
# Produces the name of a element.
|
|
8
49
|
#
|
|
@@ -29,6 +70,32 @@ module Faker
|
|
|
29
70
|
fetch('science.element_symbol')
|
|
30
71
|
end
|
|
31
72
|
|
|
73
|
+
##
|
|
74
|
+
# Produces the state of an element.
|
|
75
|
+
#
|
|
76
|
+
# @return [String]
|
|
77
|
+
#
|
|
78
|
+
# @example
|
|
79
|
+
# Faker::Science.element_state #=> "Liquid"
|
|
80
|
+
#
|
|
81
|
+
# @faker.version next
|
|
82
|
+
def element_state
|
|
83
|
+
fetch('science.element_state')
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
##
|
|
87
|
+
# Produces the subcategory of an element.
|
|
88
|
+
#
|
|
89
|
+
# @return [String]
|
|
90
|
+
#
|
|
91
|
+
# @example
|
|
92
|
+
# Faker::Science.element_subcategory #=> "Reactive nonmetal"
|
|
93
|
+
#
|
|
94
|
+
# @faker.version next
|
|
95
|
+
def element_subcategory
|
|
96
|
+
fetch('science.element_subcategory')
|
|
97
|
+
end
|
|
98
|
+
|
|
32
99
|
##
|
|
33
100
|
# Produces the name of a scientist.
|
|
34
101
|
#
|
|
@@ -41,6 +108,47 @@ module Faker
|
|
|
41
108
|
def scientist
|
|
42
109
|
fetch('science.scientist')
|
|
43
110
|
end
|
|
111
|
+
|
|
112
|
+
##
|
|
113
|
+
# Produces a scientifically sounding word
|
|
114
|
+
#
|
|
115
|
+
# @return [String]
|
|
116
|
+
#
|
|
117
|
+
# @example
|
|
118
|
+
# Faker::Science.modifier #=> "Quantum"
|
|
119
|
+
# Faker::Science.modifier #=> "Superconductive"
|
|
120
|
+
#
|
|
121
|
+
# @faker.version next
|
|
122
|
+
def modifier
|
|
123
|
+
fetch('science.modifier')
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
##
|
|
127
|
+
# Produces the name of a scientific tool.
|
|
128
|
+
# By default it uses a science word modifier to generate more diverse data, which can be disabled.
|
|
129
|
+
#
|
|
130
|
+
# @param simple [Boolean] Whether to generate simple realistic tool names, (no Q-word).
|
|
131
|
+
# @return [String]
|
|
132
|
+
#
|
|
133
|
+
# @example
|
|
134
|
+
# Faker::Science.tool #=> "Superconductive Microcentrifuge"
|
|
135
|
+
# Faker::Science.tool #=> "Portable Cryostat"
|
|
136
|
+
# Faker::Science.tool #=> "Quantum Spectrophotometer"
|
|
137
|
+
# Faker::Science.tool(simple: true) #=> "Microcentrifuge"
|
|
138
|
+
#
|
|
139
|
+
# @faker.version next
|
|
140
|
+
def tool(simple: false)
|
|
141
|
+
tool = fetch('science.tool')
|
|
142
|
+
return tool if simple
|
|
143
|
+
|
|
144
|
+
# Makes sure the modifier are different
|
|
145
|
+
loop do
|
|
146
|
+
modifier = self.modifier
|
|
147
|
+
break unless tool.start_with?(modifier)
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
"#{modifier} #{tool}"
|
|
151
|
+
end
|
|
44
152
|
end
|
|
45
153
|
end
|
|
46
154
|
end
|
data/lib/faker/default/source.rb
CHANGED
|
@@ -17,11 +17,7 @@ module Faker
|
|
|
17
17
|
# #=> "alert('Hello World!');"
|
|
18
18
|
#
|
|
19
19
|
# @faker.version 1.9.0
|
|
20
|
-
def hello_world(
|
|
21
|
-
warn_for_deprecated_arguments do |keywords|
|
|
22
|
-
keywords << :lang if legacy_lang != NOT_GIVEN
|
|
23
|
-
end
|
|
24
|
-
|
|
20
|
+
def hello_world(lang: :ruby)
|
|
25
21
|
fetch("source.hello_world.#{lang}")
|
|
26
22
|
end
|
|
27
23
|
|
|
@@ -39,13 +35,7 @@ module Faker
|
|
|
39
35
|
# #=> "console.log('foo bar');"
|
|
40
36
|
#
|
|
41
37
|
# @faker.version 1.9.0
|
|
42
|
-
def print(
|
|
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
|
|
38
|
+
def print(str: 'some string', lang: :ruby)
|
|
49
39
|
code = fetch("source.print.#{lang}")
|
|
50
40
|
code.gsub('faker_string_to_print', str)
|
|
51
41
|
end
|
|
@@ -65,10 +55,7 @@ module Faker
|
|
|
65
55
|
# # }"
|
|
66
56
|
#
|
|
67
57
|
# @faker.version 1.9.0
|
|
68
|
-
def print_1_to_10(
|
|
69
|
-
warn_for_deprecated_arguments do |keywords|
|
|
70
|
-
keywords << :lang if legacy_lang != NOT_GIVEN
|
|
71
|
-
end
|
|
58
|
+
def print_1_to_10(lang: :ruby)
|
|
72
59
|
fetch("source.print_1_to_10.#{lang}")
|
|
73
60
|
end
|
|
74
61
|
end
|
|
@@ -13,7 +13,7 @@ module Faker
|
|
|
13
13
|
#
|
|
14
14
|
# @faker.version 1.9.2
|
|
15
15
|
def id_number
|
|
16
|
-
Faker::
|
|
16
|
+
Faker::IdNumber.south_african_id_number
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
##
|
|
@@ -26,7 +26,7 @@ module Faker
|
|
|
26
26
|
#
|
|
27
27
|
# @faker.version 1.9.2
|
|
28
28
|
def valid_id_number
|
|
29
|
-
Faker::
|
|
29
|
+
Faker::IdNumber.valid_south_african_id_number
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
##
|
|
@@ -39,7 +39,7 @@ module Faker
|
|
|
39
39
|
#
|
|
40
40
|
# @faker.version 1.9.2
|
|
41
41
|
def invalid_id_number
|
|
42
|
-
Faker::
|
|
42
|
+
Faker::IdNumber.invalid_south_african_id_number
|
|
43
43
|
end
|
|
44
44
|
|
|
45
45
|
##
|
data/lib/faker/default/string.rb
CHANGED
|
@@ -10,20 +10,14 @@ module Faker
|
|
|
10
10
|
# @return [String]
|
|
11
11
|
#
|
|
12
12
|
# @example
|
|
13
|
-
# rubocop:disable Style/AsciiComments
|
|
14
13
|
# Faker::String.random #=> "3 뇦\u0017&y\u{3A109}$8^4* 녹豿4좘툢ꔾ쉙6ɉ\uA6 8TN畀챵|\"3쇤Ŵ"
|
|
15
14
|
# Faker::String.random(length: 4) #=> "⼨%0*"
|
|
16
15
|
# Faker::String.random(length: 3..12) #=> "\u{69FDC};秨툫"
|
|
17
16
|
# Faker::String.random(length: [0, 6]) #=> "I轤𣴒P溟L"
|
|
18
17
|
# Faker::String.random(length: [1, (2..5), [3, 6], nil]) #=> "葓L#ћ"
|
|
19
|
-
# rubocop:enable Style/AsciiComments
|
|
20
18
|
#
|
|
21
19
|
# @faker.version 1.9.0
|
|
22
|
-
def random(
|
|
23
|
-
warn_for_deprecated_arguments do |keywords|
|
|
24
|
-
keywords << :length if legacy_length != NOT_GIVEN
|
|
25
|
-
end
|
|
26
|
-
|
|
20
|
+
def random(length: 32)
|
|
27
21
|
utf8string select_a length
|
|
28
22
|
end
|
|
29
23
|
|
data/lib/faker/default/stripe.rb
CHANGED
|
@@ -14,11 +14,7 @@ module Faker
|
|
|
14
14
|
# Faker::Stripe.valid_card(card_type: "visa_debit") #=> "4000056655665556"
|
|
15
15
|
#
|
|
16
16
|
# @faker.version 1.9.0
|
|
17
|
-
def valid_card(
|
|
18
|
-
warn_for_deprecated_arguments do |keywords|
|
|
19
|
-
keywords << :card_type if legacy_card_type != NOT_GIVEN
|
|
20
|
-
end
|
|
21
|
-
|
|
17
|
+
def valid_card(card_type: nil)
|
|
22
18
|
valid_cards = translate('faker.stripe.valid_cards').keys
|
|
23
19
|
|
|
24
20
|
if card_type.nil?
|
|
@@ -44,11 +40,7 @@ module Faker
|
|
|
44
40
|
# Faker::Stripe.valid_token(card_type: "mc_debit") #=> "tok_mastercard_debit"
|
|
45
41
|
#
|
|
46
42
|
# @faker.version 1.9.0
|
|
47
|
-
def valid_token(
|
|
48
|
-
warn_for_deprecated_arguments do |keywords|
|
|
49
|
-
keywords << :card_type if legacy_card_type != NOT_GIVEN
|
|
50
|
-
end
|
|
51
|
-
|
|
43
|
+
def valid_token(card_type: nil)
|
|
52
44
|
valid_tokens = translate('faker.stripe.valid_tokens').keys
|
|
53
45
|
|
|
54
46
|
if card_type.nil?
|
|
@@ -73,11 +65,7 @@ module Faker
|
|
|
73
65
|
# Faker::Stripe.invalid_card(card_error: "addressZipFail") #=> "4000000000000010"
|
|
74
66
|
#
|
|
75
67
|
# @faker.version 1.9.0
|
|
76
|
-
def invalid_card(
|
|
77
|
-
warn_for_deprecated_arguments do |keywords|
|
|
78
|
-
keywords << :card_error if legacy_card_error != NOT_GIVEN
|
|
79
|
-
end
|
|
80
|
-
|
|
68
|
+
def invalid_card(card_error: nil)
|
|
81
69
|
invalid_cards = translate('faker.stripe.invalid_cards').keys
|
|
82
70
|
|
|
83
71
|
if card_error.nil?
|
|
@@ -130,11 +118,7 @@ module Faker
|
|
|
130
118
|
# Faker::Stripe.ccv(card_type: "amex") #=> "1234"
|
|
131
119
|
#
|
|
132
120
|
# @faker.version 1.9.0
|
|
133
|
-
def ccv(
|
|
134
|
-
warn_for_deprecated_arguments do |keywords|
|
|
135
|
-
keywords << :card_type if legacy_card_type != NOT_GIVEN
|
|
136
|
-
end
|
|
137
|
-
|
|
121
|
+
def ccv(card_type: nil)
|
|
138
122
|
(card_type.to_s == 'amex' ? rand_in_range(1000, 9999) : rand_in_range(100, 999)).to_s
|
|
139
123
|
end
|
|
140
124
|
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Faker
|
|
4
|
+
class Tea < Base
|
|
5
|
+
flexible :tea
|
|
6
|
+
|
|
7
|
+
class << self
|
|
8
|
+
##
|
|
9
|
+
# Produces a random variety or blend of tea.
|
|
10
|
+
#
|
|
11
|
+
# @param type [String, nil] the type of tea to query for (valid types: 'Black', 'Green', 'Oolong', 'White', and 'Herbal')
|
|
12
|
+
# @return [String] a variety of tea
|
|
13
|
+
#
|
|
14
|
+
# @example
|
|
15
|
+
# Faker::Tea.variety
|
|
16
|
+
# #=> "Earl Grey"
|
|
17
|
+
#
|
|
18
|
+
# @example
|
|
19
|
+
# Faker::Tea.variety(type: 'Green')
|
|
20
|
+
# #=> "Jasmine"
|
|
21
|
+
# @faker.version next
|
|
22
|
+
def variety(type: nil)
|
|
23
|
+
type ||= fetch('tea.type')
|
|
24
|
+
fetch "tea.variety.#{type.downcase}"
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
##
|
|
28
|
+
# Produces a random type of tea.
|
|
29
|
+
#
|
|
30
|
+
# @return [String] a type of tea
|
|
31
|
+
#
|
|
32
|
+
# @example
|
|
33
|
+
# Faker::Tea.type
|
|
34
|
+
# #=> "Green"
|
|
35
|
+
# @faker.version next
|
|
36
|
+
def type
|
|
37
|
+
fetch 'tea.type'
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module Faker
|
|
4
|
-
class
|
|
4
|
+
class Theater < Base
|
|
5
5
|
class << self
|
|
6
6
|
##
|
|
7
7
|
# Produces the name of a musical for an older audience
|
|
@@ -9,12 +9,12 @@ module Faker
|
|
|
9
9
|
# @return [String]
|
|
10
10
|
#
|
|
11
11
|
# @example
|
|
12
|
-
# Faker::
|
|
13
|
-
# #=> "
|
|
12
|
+
# Faker::Theater.adult_musical
|
|
13
|
+
# #=> "Mamma Mia!"
|
|
14
14
|
#
|
|
15
15
|
# @faker.version 2.13.0
|
|
16
16
|
def adult_musical
|
|
17
|
-
fetch('
|
|
17
|
+
fetch('theater.adult_musical')
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
##
|
|
@@ -23,12 +23,12 @@ module Faker
|
|
|
23
23
|
# @return [String]
|
|
24
24
|
#
|
|
25
25
|
# @example
|
|
26
|
-
# Faker::
|
|
26
|
+
# Faker::Theater.kids_musical
|
|
27
27
|
# #=> "Into the Woods JR."
|
|
28
28
|
#
|
|
29
29
|
# @faker.version 2.13.0
|
|
30
30
|
def kids_musical
|
|
31
|
-
fetch('
|
|
31
|
+
fetch('theater.kids_musical')
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
##
|
|
@@ -37,13 +37,16 @@ module Faker
|
|
|
37
37
|
# @return [String]
|
|
38
38
|
#
|
|
39
39
|
# @example
|
|
40
|
-
# Faker::
|
|
40
|
+
# Faker::Theater.play
|
|
41
41
|
# #=> "Death of a Salesman"
|
|
42
42
|
#
|
|
43
43
|
# @faker.version 2.13.0
|
|
44
44
|
def play
|
|
45
|
-
fetch('
|
|
45
|
+
fetch('theater.play')
|
|
46
46
|
end
|
|
47
47
|
end
|
|
48
48
|
end
|
|
49
|
+
|
|
50
|
+
include Faker::Deprecator
|
|
51
|
+
deprecate_generator('Show', Theater)
|
|
49
52
|
end
|
data/lib/faker/default/time.rb
CHANGED
|
@@ -13,9 +13,6 @@ module Faker
|
|
|
13
13
|
}.freeze
|
|
14
14
|
|
|
15
15
|
class << self
|
|
16
|
-
# rubocop:disable Metrics/ParameterLists
|
|
17
|
-
# rubocop:disable Style/AsciiComments
|
|
18
|
-
|
|
19
16
|
##
|
|
20
17
|
# Produce a random time between two times.
|
|
21
18
|
#
|
|
@@ -38,20 +35,13 @@ module Faker
|
|
|
38
35
|
# Faker::Time.between(from: DateTime.now - 1, to: DateTime.now, format: :long) #=> "2018年10月16日(火) 10時48分27秒 -0500"
|
|
39
36
|
#
|
|
40
37
|
# @faker.version 1.5.0
|
|
41
|
-
def between(
|
|
42
|
-
warn_for_deprecated_arguments do |keywords|
|
|
43
|
-
keywords << :from if legacy_from != NOT_GIVEN
|
|
44
|
-
keywords << :to if legacy_to != NOT_GIVEN
|
|
45
|
-
keywords << :format if legacy_format != NOT_GIVEN
|
|
46
|
-
end
|
|
47
|
-
|
|
38
|
+
def between(from:, to:, format: nil)
|
|
48
39
|
from = get_time_object(from)
|
|
49
40
|
to = get_time_object(to)
|
|
50
41
|
|
|
51
42
|
time = Faker::Base.rand_in_range(from, to)
|
|
52
43
|
time_with_format(time, format)
|
|
53
44
|
end
|
|
54
|
-
# rubocop:enable Style/AsciiComments
|
|
55
45
|
|
|
56
46
|
##
|
|
57
47
|
# Produce a random time between two dates.
|
|
@@ -81,14 +71,7 @@ module Faker
|
|
|
81
71
|
# #=> "Fri, 19 Oct 2018 15:17:46 -0500"
|
|
82
72
|
#
|
|
83
73
|
# @faker.version 1.0.0
|
|
84
|
-
def between_dates(
|
|
85
|
-
warn_for_deprecated_arguments do |keywords|
|
|
86
|
-
keywords << :from if legacy_from != NOT_GIVEN
|
|
87
|
-
keywords << :to if legacy_to != NOT_GIVEN
|
|
88
|
-
keywords << :period if legacy_period != NOT_GIVEN
|
|
89
|
-
keywords << :format if legacy_format != NOT_GIVEN
|
|
90
|
-
end
|
|
91
|
-
|
|
74
|
+
def between_dates(from:, to:, period: :all, format: nil)
|
|
92
75
|
date = Faker::Date.between(from: from, to: to)
|
|
93
76
|
time = date_with_random_time(date, period)
|
|
94
77
|
time_with_format(time, format)
|
|
@@ -109,13 +92,7 @@ module Faker
|
|
|
109
92
|
# #=> "October 21, 2018 20:47"
|
|
110
93
|
#
|
|
111
94
|
# @faker.version 1.5.0
|
|
112
|
-
def forward(
|
|
113
|
-
warn_for_deprecated_arguments do |keywords|
|
|
114
|
-
keywords << :days if legacy_days != NOT_GIVEN
|
|
115
|
-
keywords << :period if legacy_period != NOT_GIVEN
|
|
116
|
-
keywords << :format if legacy_format != NOT_GIVEN
|
|
117
|
-
end
|
|
118
|
-
|
|
95
|
+
def forward(days: 365, period: :all, format: nil)
|
|
119
96
|
time_with_format(date_with_random_time(Faker::Date.forward(days: days), period), format)
|
|
120
97
|
end
|
|
121
98
|
|
|
@@ -134,16 +111,9 @@ module Faker
|
|
|
134
111
|
# #=> "14 Oct 07:44"
|
|
135
112
|
#
|
|
136
113
|
# @faker.version 1.5.0
|
|
137
|
-
def backward(
|
|
138
|
-
warn_for_deprecated_arguments do |keywords|
|
|
139
|
-
keywords << :days if legacy_days != NOT_GIVEN
|
|
140
|
-
keywords << :period if legacy_period != NOT_GIVEN
|
|
141
|
-
keywords << :format if legacy_format != NOT_GIVEN
|
|
142
|
-
end
|
|
143
|
-
|
|
114
|
+
def backward(days: 365, period: :all, format: nil)
|
|
144
115
|
time_with_format(date_with_random_time(Faker::Date.backward(days: days), period), format)
|
|
145
116
|
end
|
|
146
|
-
# rubocop:enable Metrics/ParameterLists
|
|
147
117
|
|
|
148
118
|
private
|
|
149
119
|
|
|
@@ -16,14 +16,9 @@ module Faker
|
|
|
16
16
|
# Faker::Twitter.user(include_email: true) # Simulate an authenticated user with the email permission
|
|
17
17
|
#
|
|
18
18
|
# @faker.version 1.7.3
|
|
19
|
-
def user(
|
|
20
|
-
warn_for_deprecated_arguments do |keywords|
|
|
21
|
-
keywords << :include_status if legacy_include_status != NOT_GIVEN
|
|
22
|
-
keywords << :include_email if legacy_include_email != NOT_GIVEN
|
|
23
|
-
end
|
|
24
|
-
|
|
19
|
+
def user(include_status: true, include_email: false)
|
|
25
20
|
user_id = id
|
|
26
|
-
background_image_url = Faker::
|
|
21
|
+
background_image_url = Faker::LoremFlickr.image(size: '600x400')
|
|
27
22
|
profile_image_url = Faker::Avatar.image(slug: user_id, size: '48x48')
|
|
28
23
|
user = {
|
|
29
24
|
id: user_id,
|
|
@@ -51,7 +46,7 @@ module Faker
|
|
|
51
46
|
profile_background_image_url_https: background_image_url,
|
|
52
47
|
profile_background_image_url: background_image_url.sub('https://', 'http://'),
|
|
53
48
|
profile_background_tile: Faker::Boolean.boolean(true_ratio: 0.1),
|
|
54
|
-
profile_banner_url: Faker::
|
|
49
|
+
profile_banner_url: Faker::LoremFlickr.image(size: '1500x500'),
|
|
55
50
|
profile_image_url_https: profile_image_url,
|
|
56
51
|
profile_image_url: profile_image_url.sub('https://', 'http://'),
|
|
57
52
|
profile_link_color: Faker::Color.hex_color,
|
|
@@ -68,7 +63,7 @@ module Faker
|
|
|
68
63
|
verified: Faker::Boolean.boolean(true_ratio: 0.1)
|
|
69
64
|
}
|
|
70
65
|
user[:status] = Faker::Twitter.status(include_user: false) if include_status
|
|
71
|
-
user[:email] = Faker::Internet.
|
|
66
|
+
user[:email] = Faker::Internet.email if include_email
|
|
72
67
|
user
|
|
73
68
|
end
|
|
74
69
|
|
|
@@ -85,12 +80,7 @@ module Faker
|
|
|
85
80
|
# Faker::Twitter.status(include_photo: true) # Includes entities for an attached image
|
|
86
81
|
#
|
|
87
82
|
# @faker.version 1.7.3
|
|
88
|
-
def status(
|
|
89
|
-
warn_for_deprecated_arguments do |keywords|
|
|
90
|
-
keywords << :include_user if legacy_include_user != NOT_GIVEN
|
|
91
|
-
keywords << :include_photo if legacy_include_photo != NOT_GIVEN
|
|
92
|
-
end
|
|
93
|
-
|
|
83
|
+
def status(include_user: true, include_photo: false)
|
|
94
84
|
status_id = id
|
|
95
85
|
status = {
|
|
96
86
|
id: status_id,
|
|
@@ -161,11 +151,7 @@ module Faker
|
|
|
161
151
|
}
|
|
162
152
|
end
|
|
163
153
|
|
|
164
|
-
def status_entities(
|
|
165
|
-
warn_for_deprecated_arguments do |keywords|
|
|
166
|
-
keywords << :include_photo if legacy_include_photo != NOT_GIVEN
|
|
167
|
-
end
|
|
168
|
-
|
|
154
|
+
def status_entities(include_photo: false)
|
|
169
155
|
entities = {
|
|
170
156
|
hashtags: [],
|
|
171
157
|
symbols: [],
|
|
@@ -177,9 +163,7 @@ module Faker
|
|
|
177
163
|
end
|
|
178
164
|
|
|
179
165
|
def photo_entity
|
|
180
|
-
|
|
181
|
-
# TODO: Return accurate indices
|
|
182
|
-
media_url = Faker::LoremPixel.image(size: '1064x600')
|
|
166
|
+
media_url = Faker::LoremFlickr.image(size: '1064x600')
|
|
183
167
|
media_id = id
|
|
184
168
|
{
|
|
185
169
|
id: media_id,
|
data/lib/faker/default/types.rb
CHANGED
|
@@ -16,17 +16,11 @@ module Faker
|
|
|
16
16
|
# Faker::Types.rb_string #=> "foobar"
|
|
17
17
|
#
|
|
18
18
|
# @faker.version 1.8.6
|
|
19
|
-
def rb_string(
|
|
20
|
-
warn_for_deprecated_arguments do |keywords|
|
|
21
|
-
keywords << :words if legacy_words != NOT_GIVEN
|
|
22
|
-
end
|
|
23
|
-
|
|
19
|
+
def rb_string(words: 1)
|
|
24
20
|
resolved_num = resolve(words)
|
|
25
|
-
word_list =
|
|
26
|
-
translate('faker.lorem.words')
|
|
27
|
-
|
|
21
|
+
word_list = translate('faker.lorem.words')
|
|
28
22
|
word_list *= ((resolved_num / word_list.length) + 1)
|
|
29
|
-
|
|
23
|
+
sample(word_list, resolved_num).join(' ')
|
|
30
24
|
end
|
|
31
25
|
|
|
32
26
|
##
|
|
@@ -51,12 +45,7 @@ module Faker
|
|
|
51
45
|
# Faker::Types.rb_integer #=> 1
|
|
52
46
|
#
|
|
53
47
|
# @faker.version 1.8.6
|
|
54
|
-
def rb_integer(
|
|
55
|
-
warn_for_deprecated_arguments do |keywords|
|
|
56
|
-
keywords << :from if legacy_from != NOT_GIVEN
|
|
57
|
-
keywords << :to if legacy_to != NOT_GIVEN
|
|
58
|
-
end
|
|
59
|
-
|
|
48
|
+
def rb_integer(from: 0, to: 100)
|
|
60
49
|
rand(from..to).to_i
|
|
61
50
|
end
|
|
62
51
|
|
|
@@ -72,15 +61,11 @@ module Faker
|
|
|
72
61
|
# Faker::Types.rb_hash(number: 2) #=> {name: "bob", last: "marley"}
|
|
73
62
|
#
|
|
74
63
|
# @faker.version 1.8.6
|
|
75
|
-
def rb_hash(
|
|
76
|
-
warn_for_deprecated_arguments do |keywords|
|
|
77
|
-
keywords << :number if legacy_number != NOT_GIVEN
|
|
78
|
-
keywords << :type if legacy_type != NOT_GIVEN
|
|
79
|
-
end
|
|
80
|
-
|
|
64
|
+
def rb_hash(number: 1, type: -> { random_type })
|
|
81
65
|
{}.tap do |hsh|
|
|
82
66
|
Lorem.words(number: number * 2).uniq.first(number).each do |s|
|
|
83
|
-
|
|
67
|
+
value = type.is_a?(Proc) ? type.call : type
|
|
68
|
+
hsh.merge!(s.to_sym => value)
|
|
84
69
|
end
|
|
85
70
|
end
|
|
86
71
|
end
|
|
@@ -97,12 +82,8 @@ module Faker
|
|
|
97
82
|
# Faker::Types.complex_rb_hash(number: 2) #=> {user: {first: "bob", last: "marley"}, son: ["damien", "marley"]}
|
|
98
83
|
#
|
|
99
84
|
# @faker.version 1.8.6
|
|
100
|
-
def complex_rb_hash(
|
|
101
|
-
|
|
102
|
-
keywords << :number if legacy_number != NOT_GIVEN
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
rb_hash(number: number, type: random_complex_type)
|
|
85
|
+
def complex_rb_hash(number: 1)
|
|
86
|
+
rb_hash(number: number, type: -> { random_complex_type })
|
|
106
87
|
end
|
|
107
88
|
|
|
108
89
|
##
|
|
@@ -114,16 +95,13 @@ module Faker
|
|
|
114
95
|
# @example
|
|
115
96
|
# Faker::Types.rb_array #=> ["a"]
|
|
116
97
|
# Faker::Types.rb_array(len: 4) #=> ["a", 1, 2, "bob"]
|
|
98
|
+
# Faker::Types.rb_array(len: 2, type: -> { Faker::Types.rb_string }) #=> ["cat", "foo"]
|
|
117
99
|
#
|
|
118
100
|
# @faker.version 1.8.6
|
|
119
|
-
def rb_array(
|
|
120
|
-
warn_for_deprecated_arguments do |keywords|
|
|
121
|
-
keywords << :len if legacy_len != NOT_GIVEN
|
|
122
|
-
end
|
|
123
|
-
|
|
101
|
+
def rb_array(len: 1, type: -> { random_type })
|
|
124
102
|
[].tap do |ar|
|
|
125
103
|
len.times do
|
|
126
|
-
ar.push
|
|
104
|
+
ar.push type.is_a?(Proc) ? type.call : type
|
|
127
105
|
end
|
|
128
106
|
end
|
|
129
107
|
end
|