faker 2.1.0 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +171 -3
  3. data/README.md +5 -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 +210 -7
  13. data/lib/faker/creature/animal.rb +9 -0
  14. data/lib/faker/creature/cat.rb +27 -0
  15. data/lib/faker/creature/dog.rb +72 -0
  16. data/lib/faker/creature/horse.rb +18 -0
  17. data/lib/faker/default/address.rb +25 -5
  18. data/lib/faker/default/alphanumeric.rb +56 -7
  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/chile_rut.rb +12 -2
  26. data/lib/faker/default/chuck_norris.rb +1 -1
  27. data/lib/faker/default/code.rb +16 -3
  28. data/lib/faker/default/commerce.rb +17 -3
  29. data/lib/faker/default/company.rb +10 -2
  30. data/lib/faker/default/crypto_coin.rb +15 -3
  31. data/lib/faker/default/date.rb +94 -5
  32. data/lib/faker/default/demographic.rb +5 -1
  33. data/lib/faker/default/dessert.rb +27 -0
  34. data/lib/faker/default/device.rb +54 -0
  35. data/lib/faker/default/driving_licence.rb +10 -4
  36. data/lib/faker/default/electrical_components.rb +27 -0
  37. data/lib/faker/default/file.rb +19 -2
  38. data/lib/faker/default/fillmurray.rb +9 -1
  39. data/lib/faker/default/finance.rb +5 -1
  40. data/lib/faker/default/gender.rb +18 -0
  41. data/lib/faker/default/greek_philosophers.rb +18 -0
  42. data/lib/faker/default/hacker.rb +59 -1
  43. data/lib/faker/default/hipster.rb +45 -6
  44. data/lib/faker/default/house.rb +18 -0
  45. data/lib/faker/default/id_number.rb +48 -3
  46. data/lib/faker/default/industry_segments.rb +36 -0
  47. data/lib/faker/default/internet.rb +97 -13
  48. data/lib/faker/default/invoice.rb +16 -3
  49. data/lib/faker/default/json.rb +19 -2
  50. data/lib/faker/default/lorem.rb +81 -10
  51. data/lib/faker/default/lorem_flickr.rb +38 -5
  52. data/lib/faker/default/lorem_pixel.rb +10 -1
  53. data/lib/faker/default/markdown.rb +6 -1
  54. data/lib/faker/default/marketing.rb +9 -0
  55. data/lib/faker/default/measurement.rb +40 -8
  56. data/lib/faker/default/military.rb +45 -0
  57. data/lib/faker/default/name.rb +5 -1
  58. data/lib/faker/default/nation.rb +48 -5
  59. data/lib/faker/default/nato_phonetic_alphabet.rb +9 -0
  60. data/lib/faker/default/nhs.rb +5 -1
  61. data/lib/faker/default/number.rb +180 -11
  62. data/lib/faker/default/omniauth.rb +92 -9
  63. data/lib/faker/default/phone_number.rb +5 -1
  64. data/lib/faker/default/placeholdit.rb +11 -1
  65. data/lib/faker/default/programming_language.rb +18 -0
  66. data/lib/faker/default/relationship.rb +5 -1
  67. data/lib/faker/default/restaurant.rb +54 -2
  68. data/lib/faker/default/science.rb +27 -0
  69. data/lib/faker/default/source.rb +59 -3
  70. data/lib/faker/default/string.rb +5 -1
  71. data/lib/faker/default/stripe.rb +20 -4
  72. data/lib/faker/default/subscription.rb +45 -0
  73. data/lib/faker/default/superhero.rb +45 -0
  74. data/lib/faker/default/time.rb +114 -4
  75. data/lib/faker/default/twitter.rb +32 -18
  76. data/lib/faker/default/types.rb +27 -5
  77. data/lib/faker/default/vehicle.rb +17 -4
  78. data/lib/faker/default/world_cup.rb +11 -2
  79. data/lib/faker/games/dota.rb +52 -1
  80. data/lib/faker/games/elder_scrolls.rb +72 -0
  81. data/lib/faker/games/fallout.rb +37 -0
  82. data/lib/faker/games/game.rb +27 -0
  83. data/lib/faker/games/half_life.rb +27 -0
  84. data/lib/faker/games/heroes.rb +27 -0
  85. data/lib/faker/games/heroes_of_the_storm.rb +36 -0
  86. data/lib/faker/games/league_of_legends.rb +54 -0
  87. data/lib/faker/games/myst.rb +45 -0
  88. data/lib/faker/games/overwatch.rb +27 -0
  89. data/lib/faker/games/pokemon.rb +27 -0
  90. data/lib/faker/games/sonic_the_hedgehog.rb +27 -0
  91. data/lib/faker/games/super_smash_bros.rb +18 -0
  92. data/lib/faker/games/witcher.rb +54 -0
  93. data/lib/faker/games/world_of_warcraft.rb +18 -0
  94. data/lib/faker/games/zelda.rb +37 -1
  95. data/lib/faker/japanese_media/dragon_ball.rb +9 -0
  96. data/lib/faker/japanese_media/one_piece.rb +54 -0
  97. data/lib/faker/japanese_media/sword_art_online.rb +36 -0
  98. data/lib/faker/movies/back_to_the_future.rb +28 -0
  99. data/lib/faker/movies/ghostbusters.rb +28 -0
  100. data/lib/faker/movies/harry_potter.rb +54 -0
  101. data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +69 -0
  102. data/lib/faker/movies/hobbit.rb +37 -0
  103. data/lib/faker/movies/lebowski.rb +27 -0
  104. data/lib/faker/movies/lord_of_the_rings.rb +28 -0
  105. data/lib/faker/movies/movie.rb +9 -0
  106. data/lib/faker/movies/princess_bride.rb +19 -0
  107. data/lib/faker/movies/star_wars.rb +100 -4
  108. data/lib/faker/movies/v_for_vendetta.rb +29 -0
  109. data/lib/faker/music/grateful_dead.rb +18 -0
  110. data/lib/faker/music/phish.rb +9 -0
  111. data/lib/faker/music/rock_band.rb +9 -0
  112. data/lib/faker/music/umphreys_mcgee.rb +9 -0
  113. data/lib/faker/sports/basketball.rb +36 -0
  114. data/lib/faker/sports/football.rb +45 -0
  115. data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +9 -0
  116. data/lib/faker/tv_shows/bojack_horseman.rb +28 -0
  117. data/lib/faker/tv_shows/breaking_bad.rb +18 -0
  118. data/lib/faker/tv_shows/buffy.rb +45 -0
  119. data/lib/faker/tv_shows/community.rb +19 -0
  120. data/lib/faker/tv_shows/dr_who.rb +78 -2
  121. data/lib/faker/tv_shows/dumb_and_dumber.rb +28 -0
  122. data/lib/faker/tv_shows/family_guy.rb +28 -0
  123. data/lib/faker/tv_shows/friends.rb +27 -0
  124. data/lib/faker/tv_shows/game_of_thrones.rb +46 -0
  125. data/lib/faker/tv_shows/hey_arnold.rb +27 -0
  126. data/lib/faker/tv_shows/how_i_met_your_mother.rb +37 -0
  127. data/lib/faker/tv_shows/michael_scott.rb +13 -0
  128. data/lib/faker/tv_shows/new_girl.rb +19 -0
  129. data/lib/faker/tv_shows/parks_and_rec.rb +18 -0
  130. data/lib/faker/tv_shows/rick_and_morty.rb +28 -0
  131. data/lib/faker/tv_shows/ru_paul.rb +18 -0
  132. data/lib/faker/tv_shows/seinfeld.rb +28 -0
  133. data/lib/faker/tv_shows/silicon_valley.rb +75 -0
  134. data/lib/faker/tv_shows/simpsons.rb +28 -0
  135. data/lib/faker/tv_shows/south_park.rb +19 -0
  136. data/lib/faker/tv_shows/star_trek.rb +36 -0
  137. data/lib/faker/tv_shows/stargate.rb +28 -0
  138. data/lib/faker/tv_shows/stranger_things.rb +19 -0
  139. data/lib/faker/tv_shows/the_expanse.rb +36 -0
  140. data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +28 -0
  141. data/lib/faker/tv_shows/the_it_crowd.rb +37 -0
  142. data/lib/faker/tv_shows/the_thick_of_it.rb +28 -0
  143. data/lib/faker/tv_shows/twin_peaks.rb +28 -0
  144. data/lib/faker/tv_shows/venture_bros.rb +38 -0
  145. data/lib/faker/version.rb +1 -1
  146. data/lib/locales/en-CA.yml +1 -1
  147. data/lib/locales/en-TH.yml +360 -0
  148. data/lib/locales/en.yml +0 -49
  149. data/lib/locales/en/color.yml +1 -1
  150. data/lib/locales/en/dr_who.yml +1 -1
  151. data/lib/locales/en/science.yml +1 -1
  152. data/lib/locales/ja.yml +8 -9
  153. data/lib/locales/th.yml +380 -0
  154. metadata +39 -20
@@ -4,14 +4,41 @@ module Faker
4
4
  class Movies
5
5
  class Lebowski < Base
6
6
  class << self
7
+ ##
8
+ # Produces an actor from The Big Lebowski.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Movies::Lebowski.actor #=> "John Goodman"
14
+ #
15
+ # @faker.version 1.8.8
7
16
  def actor
8
17
  fetch('lebowski.actors')
9
18
  end
10
19
 
20
+ ##
21
+ # Produces a character from The Big Lebowski.
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Movies::Lebowski.character #=> "Jackie Treehorn"
27
+ #
28
+ # @faker.version 1.8.8
11
29
  def character
12
30
  fetch('lebowski.characters')
13
31
  end
14
32
 
33
+ ##
34
+ # Produces a quote from The Big Lebowski.
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::Movies::Lebowski.quote #=> "Forget it, Donny, you're out of your element!"
40
+ #
41
+ # @faker.version 1.8.8
15
42
  def quote
16
43
  fetch('lebowski.quotes')
17
44
  end
@@ -4,14 +4,42 @@ module Faker
4
4
  class Movies
5
5
  class LordOfTheRings < Base
6
6
  class << self
7
+ ##
8
+ # Produces a character from Lord of the Rings.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Movies::LordOfTheRings.character #=> "Legolas"
14
+ #
15
+ # @faker.version 1.7.0
7
16
  def character
8
17
  fetch('lord_of_the_rings.characters')
9
18
  end
10
19
 
20
+ ##
21
+ # Produces a location from Lord of the Rings.
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Movies::LordOfTheRings.location #=> "Helm's Deep"
27
+ #
28
+ # @faker.version 1.7.0
11
29
  def location
12
30
  fetch('lord_of_the_rings.locations')
13
31
  end
14
32
 
33
+ ##
34
+ # Produces a quote from Lord of the Rings.
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::Movies::LordOfTheRings.quote
40
+ # #=> "I wish the Ring had never come to me. I wish none of this had happened."
41
+ #
42
+ # @faker.version 1.9.0
15
43
  def quote
16
44
  fetch('lord_of_the_rings.quotes')
17
45
  end
@@ -3,6 +3,15 @@
3
3
  module Faker
4
4
  class Movie < Base
5
5
  class << self
6
+ ##
7
+ # Produces a quote from a movie.
8
+ #
9
+ # @return [String]
10
+ #
11
+ # @example
12
+ # Faker::Movie.quote #=> "Bumble bee tuna"
13
+ #
14
+ # @faker.version 1.8.1
6
15
  def quote
7
16
  fetch('movie.quote')
8
17
  end
@@ -4,10 +4,29 @@ module Faker
4
4
  class Movies
5
5
  class PrincessBride < Base
6
6
  class << self
7
+ ##
8
+ # Produces a character from The Princess Bride.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Movies::PrincessBride.character #=> "Dread Pirate Roberts"
14
+ #
15
+ # @faker.version 1.9.0
7
16
  def character
8
17
  fetch('princess_bride.characters')
9
18
  end
10
19
 
20
+ ##
21
+ # Produces a quote from The Princess Bride.
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Movies::PrincessBride.quote
27
+ # #=> "Hello. My name is Inigo Montoya. You killed my father. Prepare to die!"
28
+ #
29
+ # @faker.version 1.9.0
11
30
  def quote
12
31
  fetch('princess_bride.quotes')
13
32
  end
@@ -4,38 +4,118 @@ module Faker
4
4
  class Movies
5
5
  class StarWars < Base
6
6
  class << self
7
+ ##
8
+ # Produces a call squadron from Star Wars.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Movies::StarWars.call_squadron #=> "Green"
14
+ #
15
+ # @faker.version 1.6.2
7
16
  def call_squadron
8
17
  sample(call_squadrons)
9
18
  end
10
19
 
20
+ ##
21
+ # Produces a call sign from Star Wars.
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Movies::StarWars.call_sign #=> "Grey 5"
27
+ #
28
+ # @faker.version 1.6.2
11
29
  def call_sign
12
30
  numerify(parse('star_wars.call_sign'))
13
31
  end
14
32
 
33
+ ##
34
+ # Produces a call number from Star Wars.
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::Movies::StarWars.call_number #=> "Leader"
40
+ #
41
+ # @faker.version 1.6.2
15
42
  def call_number
16
43
  sample(call_numbers)
17
44
  end
18
45
 
46
+ ##
47
+ # Produces a character from Star Wars.
48
+ #
49
+ # @return [String]
50
+ #
51
+ # @example
52
+ # Faker::Movies::StarWars.character #=> "Anakin Skywalker"
53
+ #
54
+ # @faker.version 1.6.2
19
55
  def character
20
56
  sample(characters)
21
57
  end
22
58
 
59
+ ##
60
+ # Produces a droid from Star Wars.
61
+ #
62
+ # @return [String]
63
+ #
64
+ # @example
65
+ # Faker::Movies::StarWars.droid #=> "C-3PO"
66
+ #
67
+ # @faker.version 1.6.2
23
68
  def droid
24
69
  sample(droids)
25
70
  end
26
71
 
72
+ ##
73
+ # Produces a planet from Star Wars.
74
+ #
75
+ # @return [String]
76
+ #
77
+ # @example
78
+ # Faker::Movies::StarWars.planet #=> "Tatooine"
79
+ #
80
+ # @faker.version 1.6.2
27
81
  def planet
28
82
  sample(planets)
29
83
  end
30
84
 
85
+ ##
86
+ # Produces a species from Star Wars.
87
+ #
88
+ # @return [String]
89
+ #
90
+ # @example
91
+ # Faker::Movies::StarWars.specie #=> "Gungan"
92
+ #
93
+ # @faker.version 1.6.2
31
94
  def specie
32
95
  sample(species)
33
96
  end
34
97
 
98
+ ##
99
+ # Produces a vehicle from Star Wars.
100
+ #
101
+ # @return [String]
102
+ #
103
+ # @example
104
+ # Faker::Movies::StarWars.vehicle #=> "Sandcrawler"
105
+ #
106
+ # @faker.version 1.6.2
35
107
  def vehicle
36
108
  sample(vehicles)
37
109
  end
38
110
 
111
+ # Produces a wookiee sentence from Star Wars.
112
+ #
113
+ # @return [String]
114
+ #
115
+ # @example
116
+ # Faker::Movies::StarWars.wookiee_sentence #=> "Yrroonn ru ooma roo ahuma ur roooarrgh hnn-rowr."
117
+ #
118
+ # @faker.version 1.6.2
39
119
  def wookiee_sentence
40
120
  sentence = sample(wookiee_words).capitalize
41
121
 
@@ -44,7 +124,25 @@ module Faker
44
124
  sentence + sample(['.', '?', '!'])
45
125
  end
46
126
 
47
- def quote(character: nil)
127
+ ##
128
+ # Produces a quote from Star Wars.
129
+ #
130
+ # @param character [String] The name of a character to derive a quote from.
131
+ # @return [String]
132
+ #
133
+ # @example
134
+ # Faker::Movies::StarWars.quote #=> "Aren't you a little short for a Stormtrooper?"
135
+ #
136
+ # @example
137
+ # Faker::Movies::StarWars.quote(character: "leia_organa")
138
+ # #=> "Aren't you a little short for a Stormtrooper?"
139
+ #
140
+ # @faker.version 1.6.2
141
+ def quote(legacy_character = NOT_GIVEN, character: nil)
142
+ warn_for_deprecated_arguments do |keywords|
143
+ keywords << :character if legacy_character != NOT_GIVEN
144
+ end
145
+
48
146
  quoted_characters = translate('faker.star_wars.quotes')
49
147
 
50
148
  if character.nil?
@@ -57,9 +155,7 @@ module Faker
57
155
  character = k.to_s if v.include?(character)
58
156
  end
59
157
 
60
- unless quoted_characters.key?(character.to_sym)
61
- raise ArgumentError, "Character for quotes can be left blank or #{quoted_characters.keys.join(', ')}"
62
- end
158
+ raise ArgumentError, "Character for quotes can be left blank or #{quoted_characters.keys.join(', ')}" unless quoted_characters.key?(character.to_sym)
63
159
  end
64
160
 
65
161
  fetch('star_wars.quotes.' + character)
@@ -4,14 +4,43 @@ module Faker
4
4
  class Movies
5
5
  class VForVendetta < Base
6
6
  class << self
7
+ ##
8
+ # Produces a character from V For Vendetta.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Movies::VForVendetta.character #=> "V"
14
+ #
15
+ # @faker.version 1.8.5
7
16
  def character
8
17
  fetch('v_for_vendetta.characters')
9
18
  end
10
19
 
20
+ ##
21
+ # Produces a speech from V For Vendetta.
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Movies::VForVendetta.speech
27
+ # #=> "Remember, remember, the Fifth of November, the Gunpowder Treason and Plot. I know of no reason why the Gunpowder Treason should ever be forgot..."
28
+ #
29
+ # @faker.version 1.8.5
11
30
  def speech
12
31
  fetch('v_for_vendetta.speeches')
13
32
  end
14
33
 
34
+ ##
35
+ # Produces a quote from V For Vendetta.
36
+ #
37
+ # @return [String]
38
+ #
39
+ # @example
40
+ # Faker::Movies::VForVendetta.quote
41
+ # #=> "People should not be afraid of their governments. Governments should be afraid of their people."
42
+ #
43
+ # @faker.version 1.8.5
15
44
  def quote
16
45
  fetch('v_for_vendetta.quotes')
17
46
  end
@@ -6,10 +6,28 @@ module Faker
6
6
  class Music
7
7
  class GratefulDead < Base
8
8
  class << self
9
+ ##
10
+ # Produces the name of a member of The Grateful Dead.
11
+ #
12
+ # @return [String]
13
+ #
14
+ # @example
15
+ # Faker::Music::GratefulDead.player #=> "Jerry Garcia"
16
+ #
17
+ # @faker.version 1.9.2
9
18
  def player
10
19
  fetch('grateful_dead.players')
11
20
  end
12
21
 
22
+ ##
23
+ # Produces the name of a song by The Grateful Dead.
24
+ #
25
+ # @return [String]
26
+ #
27
+ # @example
28
+ # Faker::Music::GratefulDead.song #=> "Cassidy"
29
+ #
30
+ # @faker.version 1.9.2
13
31
  def song
14
32
  fetch('grateful_dead.songs')
15
33
  end
@@ -4,6 +4,15 @@ module Faker
4
4
  class Music
5
5
  class Phish < Base
6
6
  class << self
7
+ ##
8
+ # Produces the name of a song by Phish.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Music::Phish.song #=> "Tweezer"
14
+ #
15
+ # @faker.version 1.9.2
7
16
  def song
8
17
  fetch('phish.song')
9
18
  end
@@ -4,6 +4,15 @@ module Faker
4
4
  class Music
5
5
  class RockBand < Base
6
6
  class << self
7
+ ##
8
+ # Produces the name of a rock band.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Music::RockBand.name #=> "Led Zeppelin"
14
+ #
15
+ # @faker.version 1.7.0
7
16
  def name
8
17
  fetch('rock_band.name')
9
18
  end
@@ -4,6 +4,15 @@ module Faker
4
4
  class Music
5
5
  class UmphreysMcgee < Base
6
6
  class << self
7
+ ##
8
+ # Produces the name of a song by Umphrey's McGee.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Music::UmphreysMcgee.song #=> "Dump City"
14
+ #
15
+ # @faker.version 1.8.3
7
16
  def song
8
17
  fetch('umphreys_mcgee.song')
9
18
  end
@@ -4,18 +4,54 @@ module Faker
4
4
  class Sports
5
5
  class Basketball < Base
6
6
  class << self
7
+ ##
8
+ # Produces the name of a basketball team.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Sports::Basketball.team #=> "Golden State Warriors"
14
+ #
15
+ # @faker.version 1.9.4
7
16
  def team
8
17
  fetch('basketball.teams')
9
18
  end
10
19
 
20
+ ##
21
+ # Produces the name of a basketball player.
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Sports::Basketball.player #=> "LeBron James"
27
+ #
28
+ # @faker.version 1.9.4
11
29
  def player
12
30
  fetch('basketball.players')
13
31
  end
14
32
 
33
+ ##
34
+ # Produces the name of a basketball coach.
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::Sports::Basketball.coach #=> "Gregg Popovich"
40
+ #
41
+ # @faker.version 1.9.4
15
42
  def coach
16
43
  fetch('basketball.coaches')
17
44
  end
18
45
 
46
+ ##
47
+ # Produces a position in basketball.
48
+ #
49
+ # @return [String]
50
+ #
51
+ # @example
52
+ # Faker::Sports::Basketball.position #=> "Point Guard"
53
+ #
54
+ # @faker.version 1.9.4
19
55
  def position
20
56
  fetch('basketball.positions')
21
57
  end