faker 1.9.6 → 2.7.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.
Files changed (173) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +386 -6
  3. data/README.md +12 -5
  4. data/lib/faker.rb +56 -1
  5. data/lib/faker/blockchain/aeternity.rb +70 -0
  6. data/lib/faker/blockchain/bitcoin.rb +26 -0
  7. data/lib/faker/blockchain/ethereum.rb +10 -0
  8. data/lib/faker/blockchain/tezos.rb +62 -6
  9. data/lib/faker/books/book.rb +36 -0
  10. data/lib/faker/books/culture_series.rb +49 -0
  11. data/lib/faker/books/dune.rb +66 -5
  12. data/lib/faker/books/lovecraft.rb +221 -18
  13. data/lib/faker/creature/animal.rb +10 -1
  14. data/lib/faker/creature/cat.rb +28 -1
  15. data/lib/faker/creature/dog.rb +73 -1
  16. data/lib/faker/creature/horse.rb +19 -1
  17. data/lib/faker/default/address.rb +25 -5
  18. data/lib/faker/default/alphanumeric.rb +58 -9
  19. data/lib/faker/default/app.rb +55 -1
  20. data/lib/faker/default/appliance.rb +18 -0
  21. data/lib/faker/default/artist.rb +9 -0
  22. data/lib/faker/default/avatar.rb +43 -1
  23. data/lib/faker/default/bank.rb +10 -2
  24. data/lib/faker/default/boolean.rb +16 -1
  25. data/lib/faker/default/cannabis.rb +4 -0
  26. data/lib/faker/default/chile_rut.rb +13 -3
  27. data/lib/faker/default/chuck_norris.rb +1 -1
  28. data/lib/faker/default/code.rb +18 -5
  29. data/lib/faker/default/commerce.rb +18 -4
  30. data/lib/faker/default/company.rb +11 -3
  31. data/lib/faker/default/crypto_coin.rb +21 -4
  32. data/lib/faker/default/date.rb +122 -9
  33. data/lib/faker/default/demographic.rb +5 -1
  34. data/lib/faker/default/dessert.rb +27 -0
  35. data/lib/faker/default/device.rb +56 -2
  36. data/lib/faker/default/driving_licence.rb +13 -7
  37. data/lib/faker/default/educator.rb +0 -3
  38. data/lib/faker/default/electrical_components.rb +27 -0
  39. data/lib/faker/default/file.rb +20 -3
  40. data/lib/faker/default/fillmurray.rb +10 -2
  41. data/lib/faker/default/finance.rb +5 -1
  42. data/lib/faker/default/gender.rb +18 -0
  43. data/lib/faker/default/greek_philosophers.rb +18 -0
  44. data/lib/faker/default/hacker.rb +59 -1
  45. data/lib/faker/default/hipster.rb +55 -16
  46. data/lib/faker/default/house.rb +18 -0
  47. data/lib/faker/default/id_number.rb +85 -11
  48. data/lib/faker/default/industry_segments.rb +36 -0
  49. data/lib/faker/default/internet.rb +107 -22
  50. data/lib/faker/default/invoice.rb +16 -3
  51. data/lib/faker/default/json.rb +19 -2
  52. data/lib/faker/default/lorem.rb +91 -20
  53. data/lib/faker/default/lorem_flickr.rb +38 -5
  54. data/lib/faker/default/lorem_pixel.rb +10 -1
  55. data/lib/faker/default/markdown.rb +12 -7
  56. data/lib/faker/default/marketing.rb +9 -0
  57. data/lib/faker/default/measurement.rb +40 -8
  58. data/lib/faker/default/military.rb +45 -0
  59. data/lib/faker/default/name.rb +6 -4
  60. data/lib/faker/default/nation.rb +48 -5
  61. data/lib/faker/default/nato_phonetic_alphabet.rb +9 -0
  62. data/lib/faker/default/nhs.rb +11 -7
  63. data/lib/faker/default/number.rb +202 -30
  64. data/lib/faker/default/omniauth.rb +98 -15
  65. data/lib/faker/default/phone_number.rb +5 -1
  66. data/lib/faker/default/placeholdit.rb +11 -1
  67. data/lib/faker/default/programming_language.rb +18 -0
  68. data/lib/faker/default/relationship.rb +5 -1
  69. data/lib/faker/default/restaurant.rb +54 -2
  70. data/lib/faker/default/science.rb +27 -0
  71. data/lib/faker/default/source.rb +59 -3
  72. data/lib/faker/default/south_africa.rb +1 -1
  73. data/lib/faker/default/space.rb +2 -2
  74. data/lib/faker/default/string.rb +5 -1
  75. data/lib/faker/default/stripe.rb +20 -4
  76. data/lib/faker/default/subscription.rb +45 -0
  77. data/lib/faker/default/superhero.rb +45 -0
  78. data/lib/faker/default/time.rb +133 -8
  79. data/lib/faker/default/twitter.rb +62 -48
  80. data/lib/faker/default/types.rb +29 -7
  81. data/lib/faker/default/vehicle.rb +19 -6
  82. data/lib/faker/default/world_cup.rb +61 -2
  83. data/lib/faker/games/dota.rb +53 -2
  84. data/lib/faker/games/elder_scrolls.rb +73 -1
  85. data/lib/faker/games/fallout.rb +38 -1
  86. data/lib/faker/games/game.rb +27 -0
  87. data/lib/faker/games/half_life.rb +28 -1
  88. data/lib/faker/games/heroes.rb +28 -1
  89. data/lib/faker/games/heroes_of_the_storm.rb +37 -1
  90. data/lib/faker/games/league_of_legends.rb +55 -1
  91. data/lib/faker/games/myst.rb +46 -1
  92. data/lib/faker/games/overwatch.rb +28 -1
  93. data/lib/faker/games/pokemon.rb +28 -1
  94. data/lib/faker/games/sonic_the_hedgehog.rb +28 -1
  95. data/lib/faker/games/super_smash_bros.rb +19 -1
  96. data/lib/faker/games/witcher.rb +55 -1
  97. data/lib/faker/games/world_of_warcraft.rb +19 -1
  98. data/lib/faker/games/zelda.rb +38 -2
  99. data/lib/faker/japanese_media/dragon_ball.rb +10 -1
  100. data/lib/faker/japanese_media/one_piece.rb +55 -1
  101. data/lib/faker/japanese_media/sword_art_online.rb +37 -1
  102. data/lib/faker/movies/back_to_the_future.rb +29 -1
  103. data/lib/faker/movies/ghostbusters.rb +29 -1
  104. data/lib/faker/movies/harry_potter.rb +55 -1
  105. data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +70 -1
  106. data/lib/faker/movies/hobbit.rb +38 -1
  107. data/lib/faker/movies/lebowski.rb +28 -1
  108. data/lib/faker/movies/lord_of_the_rings.rb +29 -1
  109. data/lib/faker/movies/movie.rb +9 -0
  110. data/lib/faker/movies/princess_bride.rb +20 -1
  111. data/lib/faker/movies/star_wars.rb +101 -5
  112. data/lib/faker/movies/v_for_vendetta.rb +30 -1
  113. data/lib/faker/music/grateful_dead.rb +18 -0
  114. data/lib/faker/music/phish.rb +9 -0
  115. data/lib/faker/music/rock_band.rb +9 -0
  116. data/lib/faker/music/umphreys_mcgee.rb +9 -0
  117. data/lib/faker/sports/basketball.rb +36 -0
  118. data/lib/faker/sports/football.rb +45 -0
  119. data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +10 -1
  120. data/lib/faker/tv_shows/bojack_horseman.rb +29 -1
  121. data/lib/faker/tv_shows/breaking_bad.rb +19 -1
  122. data/lib/faker/tv_shows/buffy.rb +46 -1
  123. data/lib/faker/tv_shows/community.rb +20 -1
  124. data/lib/faker/tv_shows/dr_who.rb +79 -3
  125. data/lib/faker/tv_shows/dumb_and_dumber.rb +29 -1
  126. data/lib/faker/tv_shows/family_guy.rb +29 -1
  127. data/lib/faker/tv_shows/friends.rb +28 -1
  128. data/lib/faker/tv_shows/game_of_thrones.rb +47 -1
  129. data/lib/faker/tv_shows/hey_arnold.rb +28 -1
  130. data/lib/faker/tv_shows/how_i_met_your_mother.rb +38 -1
  131. data/lib/faker/tv_shows/michael_scott.rb +14 -1
  132. data/lib/faker/tv_shows/new_girl.rb +20 -1
  133. data/lib/faker/tv_shows/parks_and_rec.rb +19 -1
  134. data/lib/faker/tv_shows/rick_and_morty.rb +29 -1
  135. data/lib/faker/tv_shows/ru_paul.rb +19 -1
  136. data/lib/faker/tv_shows/seinfeld.rb +29 -1
  137. data/lib/faker/tv_shows/silicon_valley.rb +76 -1
  138. data/lib/faker/tv_shows/simpsons.rb +29 -1
  139. data/lib/faker/tv_shows/south_park.rb +20 -1
  140. data/lib/faker/tv_shows/star_trek.rb +37 -1
  141. data/lib/faker/tv_shows/stargate.rb +29 -1
  142. data/lib/faker/tv_shows/stranger_things.rb +20 -1
  143. data/lib/faker/tv_shows/the_expanse.rb +37 -1
  144. data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +29 -1
  145. data/lib/faker/tv_shows/the_it_crowd.rb +38 -1
  146. data/lib/faker/tv_shows/the_thick_of_it.rb +29 -1
  147. data/lib/faker/tv_shows/twin_peaks.rb +29 -1
  148. data/lib/faker/tv_shows/venture_bros.rb +39 -1
  149. data/lib/faker/version.rb +1 -1
  150. data/lib/locales/en-CA.yml +2 -1
  151. data/lib/locales/en-IND.yml +1 -1
  152. data/lib/locales/en-TH.yml +360 -0
  153. data/lib/locales/en.yml +4 -1
  154. data/lib/locales/en/address.yml +1 -4
  155. data/lib/locales/en/animal.yml +2 -2
  156. data/lib/locales/en/cannabis.yml +1 -0
  157. data/lib/locales/en/color.yml +1 -1
  158. data/lib/locales/en/dr_who.yml +1 -1
  159. data/lib/locales/en/science.yml +1 -1
  160. data/lib/locales/en/space.yml +1 -1
  161. data/lib/locales/en/super_smash_bros.yml +5 -0
  162. data/lib/locales/fr-CA.yml +1 -1
  163. data/lib/locales/ja.yml +12 -9
  164. data/lib/locales/th.yml +380 -0
  165. data/lib/locales/vi.yml +1 -1
  166. metadata +44 -27
  167. data/lib/faker/default/creature.rb +0 -6
  168. data/lib/faker/default/games.rb +0 -6
  169. data/lib/faker/default/japanese_media.rb +0 -6
  170. data/lib/faker/default/movies.rb +0 -6
  171. data/lib/faker/default/tv_shows.rb +0 -6
  172. data/lib/faker/deprecate/unreleased/football.rb +0 -35
  173. data/lib/faker/deprecate/unreleased/movies/grateful_dead.rb +0 -22
@@ -4,33 +4,143 @@ module Faker
4
4
  class Books
5
5
  class Lovecraft < Base
6
6
  class << self
7
+ ##
8
+ # Produces the name of a location
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Books::Lovecraft.location #=> "Kingsport"
14
+ #
15
+ # @faker.version 1.9.3
7
16
  def location
8
17
  fetch('lovecraft.location')
9
18
  end
10
19
 
11
- def fhtagn(number_of = 1)
12
- Array.new(number_of) { fetch('lovecraft.fhtagn') }.join('. ')
20
+ ##
21
+ # @param number [Integer] The number of times to repeat the chant
22
+ # @return [String]
23
+ #
24
+ # @example
25
+ # Faker::Books::Lovecraft.fhtagn
26
+ # #=> "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn"
27
+ # @example
28
+ # Faker::Books::Lovecraft.fhtagn(number: 3)
29
+ # #=> "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fht...
30
+ #
31
+ # @faker.version 1.9.3
32
+ def fhtagn(legacy_number = NOT_GIVEN, number: 1)
33
+ warn_for_deprecated_arguments do |keywords|
34
+ keywords << :number if legacy_number != NOT_GIVEN
35
+ end
36
+
37
+ Array.new(number) { fetch('lovecraft.fhtagn') }.join('. ')
13
38
  end
14
39
 
40
+ ##
41
+ # Produces the name of a deity
42
+ #
43
+ # @return [String]
44
+ #
45
+ # @example
46
+ # Faker::Books::Lovecraft.deity #=> "Shub-Niggurath"
47
+ #
48
+ # @faker.version 1.9.3
15
49
  def deity
16
50
  fetch('lovecraft.deity')
17
51
  end
18
52
 
53
+ ##
54
+ # Produces the name of a tome
55
+ #
56
+ # @return [String]
57
+ #
58
+ # @example
59
+ # Faker::Books::Lovecraft.tome #=> "Book of Eibon"
60
+ #
61
+ # @faker.version 1.9.3
19
62
  def tome
20
63
  fetch('lovecraft.tome')
21
64
  end
22
65
 
23
- def sentence(word_count = 4, random_words_to_add = 6)
24
- words(word_count + rand(random_words_to_add.to_i).to_i, true).join(' ').capitalize + '.'
66
+ ##
67
+ # Produces a random sentence
68
+ #
69
+ # @param word_count [Integer] The number of words to have in the sentence
70
+ # @param random_words_to_add [Integer]
71
+ #
72
+ # @return [String]
73
+ #
74
+ # @example
75
+ # Faker::Books::Lovecraft.sentence
76
+ # #=> "Furtive antiquarian squamous dank cat loathsome amorphous lurk."
77
+ # @example
78
+ # Faker::Books::Lovecraft.sentence(word_count: 3)
79
+ # #=> "Daemoniac antediluvian fainted squamous comprehension gambrel nameless singular."
80
+ # @example
81
+ # Faker::Books::Lovecraft.sentence(word_count: 3, random_words_to_add: 1)
82
+ # #=> "Amorphous indescribable tenebrous."
83
+ #
84
+ # @faker.version 1.9.3
85
+ def sentence(legacy_word_count = NOT_GIVEN, legacy_random_words_to_add = NOT_GIVEN, word_count: 4, random_words_to_add: 6)
86
+ warn_for_deprecated_arguments do |keywords|
87
+ keywords << :word_count if legacy_word_count != NOT_GIVEN
88
+ keywords << :random_words_to_add if legacy_random_words_to_add != NOT_GIVEN
89
+ end
90
+
91
+ words(number: word_count + rand(random_words_to_add.to_i).to_i, spaces_allowed: true).join(' ').capitalize + '.'
25
92
  end
26
93
 
94
+ ##
95
+ # Produces a random word
96
+ #
97
+ # @return [String]
98
+ #
99
+ # @example
100
+ # Faker::Books::Lovecraft.word #=> "furtive"
101
+ #
102
+ # @faker.version 1.9.3
27
103
  def word
28
104
  random_word = sample(translate('faker.lovecraft.words'))
29
105
  random_word =~ /\s/ ? word : random_word
30
106
  end
31
107
 
32
- def words(num = 3, spaces_allowed = false)
33
- resolved_num = resolve(num)
108
+ ##
109
+ # Produces a array of random words
110
+ #
111
+ # @param number [Integer] Number of words to generate
112
+ # @param spaces_allowed [Boolean] If true, generated words can contain spaces
113
+ #
114
+ # @return [Array<String>]
115
+ #
116
+ # @example
117
+ # Faker::Books::Lovecraft.words
118
+ # #=> [
119
+ # # "manuscript",
120
+ # # "abnormal",
121
+ # # "singular",
122
+ # # ]
123
+ # @example
124
+ # Faker::Books::Lovecraft.words(number: 2)
125
+ # #=> [
126
+ # # "daemoniac",
127
+ # # "cat",
128
+ # # ]
129
+ # @example
130
+ # Faker::Books::Lovecraft.words(number: 2, spaces_allowed: 1)
131
+ # #=> [
132
+ # # "lurk",
133
+ # # "charnel",
134
+ # # ]
135
+ #
136
+ # @faker.version 1.9.3
137
+ def words(legacy_number = NOT_GIVEN, legacy_spaces_allowed = NOT_GIVEN, number: 3, spaces_allowed: false)
138
+ warn_for_deprecated_arguments do |keywords|
139
+ keywords << :number if legacy_number != NOT_GIVEN
140
+ keywords << :spaces_allowed if legacy_spaces_allowed != NOT_GIVEN
141
+ end
142
+
143
+ resolved_num = resolve(number)
34
144
  word_list = translate('faker.lovecraft.words')
35
145
  word_list *= ((resolved_num / word_list.length) + 1)
36
146
 
@@ -40,32 +150,125 @@ module Faker
40
150
  words.each_with_index { |w, i| words[i] = word if w =~ /\s/ }
41
151
  end
42
152
 
43
- def sentences(sentence_count = 3)
153
+ ##
154
+ # Produces a array of random sentences
155
+ #
156
+ # @param number [Integer] Number of sentences to generate
157
+ #
158
+ # @return [Array<String>]
159
+ #
160
+ # @example
161
+ # Faker::Books::Lovecraft.sentences
162
+ # #=> [
163
+ # # "Nameless loathsome decadent gambrel.",
164
+ # # "Ululate swarthy immemorial cat madness gibbous unmentionable unnamable.",
165
+ # # "Decadent antediluvian non-euclidean tentacles amorphous tenebrous.",
166
+ # # ]
167
+ # @example
168
+ # Faker::Books::Lovecraft.sentences(number: 2)
169
+ # #=> [
170
+ # # "Antediluvian amorphous unmentionable singular accursed squamous immemorial.",
171
+ # # "Gambrel daemoniac gibbous stygian shunned ululate iridescence abnormal.",
172
+ # # ]
173
+ #
174
+ # @faker.version 1.9.3
175
+ def sentences(legacy_number = NOT_GIVEN, number: 3)
176
+ warn_for_deprecated_arguments do |keywords|
177
+ keywords << :number if legacy_number != NOT_GIVEN
178
+ end
179
+
44
180
  [].tap do |sentences|
45
- 1.upto(resolve(sentence_count)) do
46
- sentences << sentence(3)
181
+ 1.upto(resolve(number)) do
182
+ sentences << sentence(word_count: 3)
47
183
  end
48
184
  end
49
185
  end
50
186
 
51
- def paragraph(sentence_count = 3, random_sentences_to_add = 3)
52
- sentences(resolve(sentence_count) + rand(random_sentences_to_add.to_i).to_i).join(' ')
187
+ ##
188
+ # Produces a random paragraph
189
+ #
190
+ # @param sentence_count [Integer] Number of sentences to generate
191
+ # @param random_sentences_to_add [Integer]
192
+ #
193
+ # @return [String]
194
+ #
195
+ # @example
196
+ # Faker::Books::Lovecraft.paragraph
197
+ # #=> "Squamous nameless daemoniac fungus ululate. Cyclopean stygian decadent loathsome manuscript tenebrous. Foetid abnormal stench. Dank non-euclidean comprehension eldritch. Charnel singular shunned lurk effulgence fungus."
198
+ # @example
199
+ # Faker::Books::Lovecraft.paragraph(sentence_count: 2)
200
+ # #=> "Decadent lurk tenebrous loathsome furtive spectral amorphous gibbous. Gambrel eldritch daemoniac cat madness comprehension stygian effulgence."
201
+ # @example
202
+ # Faker::Books::Lovecraft.paragraph(sentence_count: 1, random_sentences_to_add: 1)
203
+ # #=> "Stench cyclopean fainted antiquarian nameless. Antiquarian ululate tenebrous non-euclidean effulgence."
204
+ #
205
+ # @faker.version 1.9.3
206
+ def paragraph(legacy_sentence_count = NOT_GIVEN, legacy_random_sentences_to_add = NOT_GIVEN, sentence_count: 3, random_sentences_to_add: 3)
207
+ warn_for_deprecated_arguments do |keywords|
208
+ keywords << :sentence_count if legacy_sentence_count != NOT_GIVEN
209
+ keywords << :random_sentences_to_add if legacy_random_sentences_to_add != NOT_GIVEN
210
+ end
211
+
212
+ sentences(number: resolve(sentence_count) + rand(random_sentences_to_add.to_i).to_i).join(' ')
53
213
  end
54
214
 
55
- def paragraphs(paragraph_count = 3)
215
+ ##
216
+ # Produces a array of random paragraphs
217
+ #
218
+ # @param number [Integer] Number of paragraphs to generate
219
+ #
220
+ # @return [Array<String>]
221
+ #
222
+ # @example
223
+ # Faker::Books::Lovecraft.paragraphs
224
+ # #=> [
225
+ # # "Noisome daemoniac gibbous abnormal antediluvian. Unutterable fung...
226
+ # # "Non-euclidean immemorial indescribable accursed furtive. Dank unn...
227
+ # # "Charnel antediluvian unnamable cat blasphemous comprehension tene...
228
+ # # ]
229
+ # @example
230
+ # Faker::Books::Lovecraft.paragraphs(number: 2)
231
+ # #=> [
232
+ # # "Hideous amorphous manuscript antediluvian non-euclidean cat eldri...
233
+ # # "Tenebrous unnamable comprehension antediluvian lurk. Lurk spectra...
234
+ # # ]
235
+ #
236
+ # @faker.version 1.9.3
237
+ def paragraphs(legacy_number = NOT_GIVEN, number: 3)
238
+ warn_for_deprecated_arguments do |keywords|
239
+ keywords << :number if legacy_number != NOT_GIVEN
240
+ end
241
+
56
242
  [].tap do |paragraphs|
57
- 1.upto(resolve(paragraph_count)) do
58
- paragraphs << paragraph(3)
243
+ 1.upto(resolve(number)) do
244
+ paragraphs << paragraph(sentence_count: 3)
59
245
  end
60
246
  end
61
247
  end
62
248
 
63
- def paragraph_by_chars(chars = 256)
64
- paragraph = paragraph(3)
249
+ ##
250
+ # @param characters [Integer] Number of characters to generate in the paragraph
251
+ #
252
+ # @return [String]
253
+ #
254
+ # @example
255
+ # Faker::Books::Lovecraft.paragraph_by_chars
256
+ # #=> "Truffaut stumptown trust fund 8-bit messenger bag portland. Meh kombucha selvage swag biodiesel. Lomo kinfolk jean shorts asymmetrical diy. Wayfarers portland twee stumptown. Wes anderson biodiesel retro 90's pabst. Diy echo 90's mixtape semiotics. Cornho."
257
+ # @example
258
+ # Faker::Books::Lovecraft.paragraph_by_chars(characters: 128)
259
+ # #=> "Effulgence madness noisome. Fungus stygian mortal madness amorphous dank. Decadent noisome hideous effulgence. Tentacles charne."
260
+ #
261
+ # @faker.version 1.9.3
262
+ def paragraph_by_chars(legacy_characters = NOT_GIVEN, characters: 256)
263
+ warn_for_deprecated_arguments do |keywords|
264
+ keywords << :characters if legacy_characters != NOT_GIVEN
265
+ end
266
+
267
+ paragraph = paragraph(sentence_count: 3)
65
268
 
66
- paragraph += ' ' + paragraph(3) while paragraph.length < chars
269
+ paragraph += ' ' + paragraph(sentence_count: 3) while paragraph.length < characters
67
270
 
68
- paragraph[0...chars - 1] + '.'
271
+ paragraph[0...characters - 1] + '.'
69
272
  end
70
273
  end
71
274
  end
@@ -1,9 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Faker
4
- module Creature
4
+ class Creature
5
5
  class Animal < Base
6
6
  class << self
7
+ ##
8
+ # Produces a random animal name
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Creature::Animal.name #=> "fly"
14
+ #
15
+ # @faker.version 1.9.2
7
16
  def name
8
17
  fetch('creature.animal.name')
9
18
  end
@@ -1,19 +1,46 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Faker
4
- module Creature
4
+ class Creature
5
5
  class Cat < Base
6
6
  flexible :cat
7
7
 
8
8
  class << self
9
+ ##
10
+ # Produces a random name for a cat
11
+ #
12
+ # @return [String]
13
+ #
14
+ # @example
15
+ # Faker::Creature::Cat.name #=> "Felix"
16
+ #
17
+ # @faker.version 1.9.2
9
18
  def name
10
19
  fetch('creature.cat.name')
11
20
  end
12
21
 
22
+ ##
23
+ # Produces a random cat breed
24
+ #
25
+ # @return [String]
26
+ #
27
+ # @example
28
+ # Faker::Creature::Cat.breed #=> "Scottish Fold"
29
+ #
30
+ # @faker.version 1.9.2
13
31
  def breed
14
32
  fetch('creature.cat.breed')
15
33
  end
16
34
 
35
+ ##
36
+ # Produces a random cat breed registry
37
+ #
38
+ # @return [String]
39
+ #
40
+ # @example
41
+ # Faker::Creature::Cat.registry #=> "Fancy Southern Africa Cat Council"
42
+ #
43
+ # @faker.version 1.9.2
17
44
  def registry
18
45
  fetch('creature.cat.registry')
19
46
  end
@@ -1,39 +1,111 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Faker
4
- module Creature
4
+ class Creature
5
5
  class Dog < Base
6
6
  flexible :dog
7
7
 
8
8
  class << self
9
+ ##
10
+ # Produces a random name for a dog
11
+ #
12
+ # @return [String]
13
+ #
14
+ # @example
15
+ # Faker::Creature::Dog.name #=> "Spike"
16
+ #
17
+ # @faker.version 1.9.2
9
18
  def name
10
19
  fetch('creature.dog.name')
11
20
  end
12
21
 
22
+ ##
23
+ # Produces a random dog breed
24
+ #
25
+ # @return [String]
26
+ #
27
+ # @example
28
+ # Faker::Creature::Dog.breed #=> "Yorkshire Terrier"
29
+ #
30
+ # @faker.version 1.9.2
13
31
  def breed
14
32
  fetch('creature.dog.breed')
15
33
  end
16
34
 
35
+ ##
36
+ # Produces a random sound made by a dog
37
+ #
38
+ # @return [String]
39
+ #
40
+ # @example
41
+ # Faker::Creature::Dog.sound #=> "woof woof"
42
+ #
43
+ # @faker.version 1.9.2
17
44
  def sound
18
45
  fetch('creature.dog.sound')
19
46
  end
20
47
 
48
+ ##
49
+ # Produces a random dog meme phrase
50
+ #
51
+ # @return [String]
52
+ #
53
+ # @example
54
+ # Faker::Creature::Dog.meme_phrase #=> "smol pupperino"
55
+ #
56
+ # @faker.version 1.9.2
21
57
  def meme_phrase
22
58
  fetch('creature.dog.meme_phrase')
23
59
  end
24
60
 
61
+ ##
62
+ # Produces a random dog age
63
+ #
64
+ # @return [String]
65
+ #
66
+ # @example
67
+ # Faker::Creature::Dog.age #=> "puppy"
68
+ #
69
+ # @faker.version 1.9.2
25
70
  def age
26
71
  fetch('creature.dog.age')
27
72
  end
28
73
 
74
+ ##
75
+ # Produces a random gender
76
+ #
77
+ # @return [String]
78
+ #
79
+ # @example
80
+ # Faker::Creature::Dog.gender #=> "Female"
81
+ #
82
+ # @faker.version 1.9.2
29
83
  def gender
30
84
  Faker::Gender.binary_type
31
85
  end
32
86
 
87
+ ##
88
+ # Produces a random coat length
89
+ #
90
+ # @return [String]
91
+ #
92
+ # @example
93
+ # Faker::Creature::Dog.coat_length #=> "short"
94
+ #
95
+ # @faker.version 1.9.2
33
96
  def coat_length
34
97
  fetch('creature.dog.coat_length')
35
98
  end
36
99
 
100
+ ##
101
+ # Produces a random size of a dog
102
+ #
103
+ # @return [String]
104
+ #
105
+ # @example
106
+ # Faker::Creature::Dog.size #=> "small"
107
+ #
108
+ # @faker.version 1.9.2
37
109
  def size
38
110
  fetch('creature.dog.size')
39
111
  end