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.
Files changed (305) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +848 -34
  3. data/README.md +225 -103
  4. data/lib/faker/blockchain/aeternity.rb +1 -1
  5. data/lib/faker/blockchain/bitcoin.rb +2 -2
  6. data/lib/faker/blockchain/ethereum.rb +1 -1
  7. data/lib/faker/blockchain/tezos.rb +31 -3
  8. data/lib/faker/books/dune.rb +2 -10
  9. data/lib/faker/books/lovecraft.rb +9 -41
  10. data/lib/faker/books/the_kingkiller_chronicle.rb +61 -0
  11. data/lib/faker/creature/bird.rb +203 -0
  12. data/lib/faker/default/address.rb +7 -27
  13. data/lib/faker/default/alphanumeric.rb +2 -8
  14. data/lib/faker/default/app.rb +1 -10
  15. data/lib/faker/default/avatar.rb +1 -12
  16. data/lib/faker/default/bank.rb +25 -17
  17. data/lib/faker/default/barcode.rb +33 -22
  18. data/lib/faker/default/boolean.rb +1 -4
  19. data/lib/faker/default/cannabis.rb +10 -0
  20. data/lib/faker/default/chile_rut.rb +25 -25
  21. data/lib/faker/default/chuck_norris.rb +1 -0
  22. data/lib/faker/default/code.rb +71 -42
  23. data/lib/faker/default/color.rb +77 -6
  24. data/lib/faker/default/commerce.rb +31 -17
  25. data/lib/faker/default/company.rb +137 -22
  26. data/lib/faker/default/crypto.rb +26 -4
  27. data/lib/faker/default/crypto_coin.rb +3 -15
  28. data/lib/faker/default/date.rb +65 -42
  29. data/lib/faker/default/demographic.rb +1 -5
  30. data/lib/faker/default/driving_licence.rb +20 -18
  31. data/lib/faker/default/drone.rb +1 -1
  32. data/lib/faker/default/educator.rb +13 -0
  33. data/lib/faker/default/emotion.rb +33 -0
  34. data/lib/faker/default/file.rb +5 -22
  35. data/lib/faker/default/finance.rb +30 -7
  36. data/lib/faker/default/food.rb +27 -1
  37. data/lib/faker/default/hipster.rb +8 -48
  38. data/lib/faker/default/hobby.rb +22 -0
  39. data/lib/faker/default/html.rb +230 -0
  40. data/lib/faker/default/id_number.rb +175 -27
  41. data/lib/faker/default/internet.rb +333 -114
  42. data/lib/faker/default/invoice.rb +4 -17
  43. data/lib/faker/default/json.rb +4 -21
  44. data/lib/faker/default/lorem.rb +175 -73
  45. data/lib/faker/default/lorem_flickr.rb +4 -37
  46. data/lib/faker/default/markdown.rb +10 -13
  47. data/lib/faker/default/marketing.rb +1 -1
  48. data/lib/faker/default/measurement.rb +16 -48
  49. data/lib/faker/default/name.rb +1 -5
  50. data/lib/faker/default/nation.rb +0 -3
  51. data/lib/faker/default/{nhs.rb → national_health_service.rb} +9 -8
  52. data/lib/faker/default/number.rb +33 -61
  53. data/lib/faker/default/omniauth.rb +55 -52
  54. data/lib/faker/default/phone_number.rb +36 -21
  55. data/lib/faker/default/placeholdit.rb +10 -20
  56. data/lib/faker/default/relationship.rb +1 -5
  57. data/lib/faker/default/religion.rb +6 -0
  58. data/lib/faker/default/science.rb +108 -0
  59. data/lib/faker/default/source.rb +3 -16
  60. data/lib/faker/default/south_africa.rb +3 -3
  61. data/lib/faker/default/string.rb +1 -7
  62. data/lib/faker/default/stripe.rb +4 -20
  63. data/lib/faker/default/tea.rb +41 -0
  64. data/lib/faker/{music/show.rb → default/theater.rb} +11 -8
  65. data/lib/faker/default/time.rb +4 -34
  66. data/lib/faker/default/twitter.rb +7 -23
  67. data/lib/faker/default/types.rb +12 -34
  68. data/lib/faker/default/vehicle.rb +44 -54
  69. data/lib/faker/default/vulnerability_identifier.rb +23 -0
  70. data/lib/faker/default/world_cup.rb +2 -11
  71. data/lib/faker/games/clash_of_clans.rb +1 -1
  72. data/lib/faker/games/dnd.rb +49 -7
  73. data/lib/faker/games/dota.rb +14 -5
  74. data/lib/faker/games/final_fantasy_xiv.rb +73 -0
  75. data/lib/faker/games/minecraft.rb +1 -1
  76. data/lib/faker/games/myst.rb +1 -1
  77. data/lib/faker/games/tarkov.rb +205 -0
  78. data/lib/faker/games/touhou.rb +75 -0
  79. data/lib/faker/games/witcher.rb +39 -0
  80. data/lib/faker/japanese_media/cowboy_bebop.rb +61 -0
  81. data/lib/faker/japanese_media/fullmetal_alchemist_brotherhood.rb +51 -0
  82. data/lib/faker/japanese_media/kamen_rider.rb +102 -0
  83. data/lib/faker/japanese_media/one_piece.rb +1 -1
  84. data/lib/faker/locations/australia.rb +52 -0
  85. data/lib/faker/movies/avatar.rb +49 -0
  86. data/lib/faker/movies/hackers.rb +48 -0
  87. data/lib/faker/movies/star_wars.rb +73 -5
  88. data/lib/faker/movies/{room.rb → the_room.rb} +4 -4
  89. data/lib/faker/movies/tron.rb +161 -0
  90. data/lib/faker/music/hiphop.rb +3 -3
  91. data/lib/faker/music/music.rb +12 -0
  92. data/lib/faker/music/rock_band.rb +12 -0
  93. data/lib/faker/music/smashing_pumpkins.rb +64 -0
  94. data/lib/faker/quotes/quote.rb +13 -0
  95. data/lib/faker/quotes/rajnikanth.rb +1 -0
  96. data/lib/faker/quotes/shakespeare.rb +34 -0
  97. data/lib/faker/religion/bible.rb +50 -0
  98. data/lib/faker/sports/chess.rb +90 -0
  99. data/lib/faker/sports/mountaineering.rb +22 -0
  100. data/lib/faker/sports/sport.rb +116 -0
  101. data/lib/faker/travel/airport.rb +43 -0
  102. data/lib/faker/travel/train_station.rb +54 -0
  103. data/lib/faker/tv_shows/archer.rb +51 -0
  104. data/lib/faker/tv_shows/big_bang_theory.rb +1 -1
  105. data/lib/faker/tv_shows/brooklyn_nine_nine.rb +38 -0
  106. data/lib/faker/tv_shows/michael_scott.rb +0 -3
  107. data/lib/faker/tv_shows/south_park.rb +15 -0
  108. data/lib/faker/tv_shows/spongebob.rb +50 -0
  109. data/lib/faker/tv_shows/suits.rb +1 -1
  110. data/lib/faker/tv_shows/supernatural.rb +48 -0
  111. data/lib/faker/tv_shows/the_office.rb +37 -0
  112. data/lib/faker/version.rb +2 -2
  113. data/lib/faker.rb +26 -67
  114. data/lib/helpers/base58.rb +1 -1
  115. data/lib/helpers/deprecator.rb +53 -0
  116. data/lib/helpers/positional_generator.rb +480 -0
  117. data/lib/helpers/unique_generator.rb +13 -14
  118. data/lib/locales/README.md +18 -2
  119. data/lib/locales/ar.yml +6 -1
  120. data/lib/locales/bg.yml +1 -2
  121. data/lib/locales/da-DK.yml +529 -35
  122. data/lib/locales/de-AT.yml +3487 -27
  123. data/lib/locales/de-CH.yml +4328 -12
  124. data/lib/locales/de.yml +7185 -99
  125. data/lib/locales/ee.yml +0 -1
  126. data/lib/locales/en/address.yml +1826 -562
  127. data/lib/locales/en/airport.yml +381 -0
  128. data/lib/locales/en/animal.yml +1 -1
  129. data/lib/locales/en/archer.yml +75 -0
  130. data/lib/locales/en/australia.yml +108 -0
  131. data/lib/locales/en/avatar.yml +31 -0
  132. data/lib/locales/en/bank.yml +1 -1
  133. data/lib/locales/en/bible.yml +90 -0
  134. data/lib/locales/en/bird.yml +1281 -0
  135. data/lib/locales/en/book.yml +487 -3
  136. data/lib/locales/en/brooklyn_nine_nine.yml +35 -0
  137. data/lib/locales/en/cat.yml +1 -1
  138. data/lib/locales/en/chess.yml +103 -0
  139. data/lib/locales/en/coffee.yml +1 -1
  140. data/lib/locales/en/commerce.yml +17 -0
  141. data/lib/locales/en/community.yml +17 -17
  142. data/lib/locales/en/company.yml +1 -0
  143. data/lib/locales/en/computer.yml +23 -4
  144. data/lib/locales/en/cowboy_bebop.yml +163 -0
  145. data/lib/locales/en/device.yml +112 -4
  146. data/lib/locales/en/dnd.yml +186 -1
  147. data/lib/locales/en/dog.yml +262 -7
  148. data/lib/locales/en/dota.yml +173 -0
  149. data/lib/locales/en/dune.yml +266 -397
  150. data/lib/locales/en/educator.yml +6 -0
  151. data/lib/locales/en/emotion.yml +480 -0
  152. data/lib/locales/en/file.yml +9 -1
  153. data/lib/locales/en/final_fantasy_xiv.yml +754 -0
  154. data/lib/locales/en/finance.yml +27 -4
  155. data/lib/locales/en/food.yml +1067 -10
  156. data/lib/locales/en/football.yml +3 -3
  157. data/lib/locales/en/fullmetal_alchemist_brotherhood.yml +78 -0
  158. data/lib/locales/en/game.yml +11 -0
  159. data/lib/locales/en/hackers.yml +53 -0
  160. data/lib/locales/en/harry_potter.yml +1 -1
  161. data/lib/locales/en/heroes.yml +2 -2
  162. data/lib/locales/en/hobby.yml +171 -0
  163. data/lib/locales/en/horse.yml +2 -2
  164. data/lib/locales/en/id_number.yml +1 -1
  165. data/lib/locales/en/internet.yml +136 -3
  166. data/lib/locales/en/kamen_rider.yml +452 -0
  167. data/lib/locales/en/kpop.yml +7 -7
  168. data/lib/locales/en/lebowski.yml +1 -1
  169. data/lib/locales/en/lovecraft.yml +76 -6
  170. data/lib/locales/en/minecraft.yml +4 -4
  171. data/lib/locales/en/mitch_hedberg.yml +46 -0
  172. data/lib/locales/en/mountain.yml +14 -1
  173. data/lib/locales/en/mountaineering.yml +14 -0
  174. data/lib/locales/en/movie.yml +2 -1
  175. data/lib/locales/en/music.yml +152 -142
  176. data/lib/locales/en/naruto.yml +2 -3
  177. data/lib/locales/en/one_piece.yml +1 -1
  178. data/lib/locales/en/opera.yml +2 -2
  179. data/lib/locales/en/overwatch.yml +5 -7
  180. data/lib/locales/en/phone_number.yml +78 -3
  181. data/lib/locales/en/rock_band.yml +1 -0
  182. data/lib/locales/en/science.yml +481 -3
  183. data/lib/locales/en/shakespeare.yml +21 -24
  184. data/lib/locales/en/smashing_pumpkins.yml +382 -0
  185. data/lib/locales/en/source.yml +5 -0
  186. data/lib/locales/en/south_park.yml +360 -2
  187. data/lib/locales/en/space.yml +1 -1
  188. data/lib/locales/en/spongebob.yml +489 -0
  189. data/lib/locales/en/sport.yml +130 -0
  190. data/lib/locales/en/star_wars.yml +1 -1
  191. data/lib/locales/en/stranger_thing.yml +1 -1
  192. data/lib/locales/en/super_smash_bros.yml +7 -2
  193. data/lib/locales/en/supernatural.yml +141 -0
  194. data/lib/locales/en/tarkov.yml +593 -0
  195. data/lib/locales/en/tea.yml +172 -0
  196. data/lib/locales/en/the_kingkiller_chronicle.yml +56 -0
  197. data/lib/locales/en/the_office.yml +86 -0
  198. data/lib/locales/en/{room.yml → the_room.yml} +1 -1
  199. data/lib/locales/en/{show.yml → theater.yml} +1 -1
  200. data/lib/locales/en/touhou.yml +839 -0
  201. data/lib/locales/en/train_station.yml +280 -0
  202. data/lib/locales/en/tron.yml +227 -0
  203. data/lib/locales/en/vehicle.yml +2809 -75
  204. data/lib/locales/en/witcher.yml +37 -0
  205. data/lib/locales/en-AU.yml +718 -47
  206. data/lib/locales/en-CA.yml +373 -18
  207. data/lib/locales/en-GB.yml +116 -8
  208. data/lib/locales/en-IND.yml +1259 -17
  209. data/lib/locales/en-KE.yml +212 -0
  210. data/lib/locales/en-MS.yml +364 -17
  211. data/lib/locales/en-NEP.yml +212 -38
  212. data/lib/locales/en-NG.yml +1 -0
  213. data/lib/locales/en-NZ.yml +1153 -123
  214. data/lib/locales/en-PAK.yml +369 -10
  215. data/lib/locales/en-SG.yml +581 -16
  216. data/lib/locales/en-UG.yml +1 -0
  217. data/lib/locales/en-US.yml +6914 -74
  218. data/lib/locales/en-ZA.yml +1 -1
  219. data/lib/locales/en-au-ocker.yml +266 -22
  220. data/lib/locales/es-AR.yml +4570 -0
  221. data/lib/locales/es-MX.yml +1 -2
  222. data/lib/locales/es.yml +2 -3
  223. data/lib/locales/fi-FI.yml +3 -1
  224. data/lib/locales/fr/address.yml +20 -0
  225. data/lib/locales/fr/adjective.yml +266 -0
  226. data/lib/locales/fr/ancient.yml +141 -0
  227. data/lib/locales/fr/animal.yml +5 -0
  228. data/lib/locales/fr/appliance.yml +4 -0
  229. data/lib/locales/fr/book.yml +7 -0
  230. data/lib/locales/fr/color.yml +4 -0
  231. data/lib/locales/fr/company.yml +17 -0
  232. data/lib/locales/fr/compass.yml +23 -0
  233. data/lib/locales/fr/demographic.yml +4 -0
  234. data/lib/locales/fr/gender.yml +6 -0
  235. data/lib/locales/fr/internet.yml +4 -0
  236. data/lib/locales/fr/lorem.yml +5 -0
  237. data/lib/locales/fr/measurement.yml +7 -0
  238. data/lib/locales/fr/name.yml +22 -0
  239. data/lib/locales/fr/phone_number.yml +7 -0
  240. data/lib/locales/fr/pokemon.yml +7 -0
  241. data/lib/locales/fr-CA.yml +2733 -44
  242. data/lib/locales/fr-CH.yml +1 -2
  243. data/lib/locales/fr.yml +2 -118
  244. data/lib/locales/hy.yml +3624 -119
  245. data/lib/locales/id.yml +839 -12
  246. data/lib/locales/it.yml +1304 -32
  247. data/lib/locales/ja/README.md +13 -0
  248. data/lib/locales/ja/address.yml +120539 -0
  249. data/lib/locales/ja/adjective.yml +148 -0
  250. data/lib/locales/ja/ancient.yml +4 -0
  251. data/lib/locales/ja/animal.yml +5 -0
  252. data/lib/locales/ja/bank.yml +4 -0
  253. data/lib/locales/ja/book.yml +7 -0
  254. data/lib/locales/ja/cat.yml +5 -0
  255. data/lib/locales/ja/coffee.yml +4 -0
  256. data/lib/locales/ja/color.yml +4 -0
  257. data/lib/locales/ja/commerce.yml +11 -0
  258. data/lib/locales/ja/company.yml +8 -0
  259. data/lib/locales/ja/dog.yml +6 -0
  260. data/lib/locales/ja/emotion.yml +51 -0
  261. data/lib/locales/ja/food.yml +4 -0
  262. data/lib/locales/ja/football.yml +115 -0
  263. data/lib/locales/ja/gender.yml +4 -0
  264. data/lib/locales/ja/lorem.yml +9 -0
  265. data/lib/locales/ja/name.yml +13 -0
  266. data/lib/locales/ja/naruto.yml +230 -0
  267. data/lib/locales/ja/overwatch.yml +5 -0
  268. data/lib/locales/ja/phone_number.yml +7 -0
  269. data/lib/locales/ja/pokemon.yml +7 -0
  270. data/lib/locales/ja/relationship.yml +10 -0
  271. data/lib/locales/ja/restaurant.yml +11 -0
  272. data/lib/locales/ja/space.yml +5 -0
  273. data/lib/locales/ja/sport.yml +130 -0
  274. data/lib/locales/ja/studio_ghibli.yml +112 -0
  275. data/lib/locales/ja/subscription.yml +8 -0
  276. data/lib/locales/ja/super_mario.yml +9 -0
  277. data/lib/locales/ja/super_smash_bros.yml +8 -0
  278. data/lib/locales/ja/touhou.yml +466 -0
  279. data/lib/locales/ja/university.yml +9 -0
  280. data/lib/locales/ja/zelda.yml +5 -0
  281. data/lib/locales/ko.yml +1361 -20
  282. data/lib/locales/lt.yml +315 -0
  283. data/lib/locales/lv.yml +1 -2
  284. data/lib/locales/mi-NZ.yml +283 -0
  285. data/lib/locales/nb-NO.yml +518 -29
  286. data/lib/locales/nl.yml +1 -1
  287. data/lib/locales/pl.yml +1 -2
  288. data/lib/locales/pt-BR.yml +8157 -660
  289. data/lib/locales/pt.yml +844 -45
  290. data/lib/locales/ru.yml +1355 -32
  291. data/lib/locales/sk.yml +4410 -43
  292. data/lib/locales/sv.yml +100 -0
  293. data/lib/locales/th.yml +76 -76
  294. data/lib/locales/tr.yml +1 -2
  295. data/lib/locales/uk.yml +1808 -44
  296. data/lib/locales/vi.yml +1 -0
  297. data/lib/locales/zh-CN/bank.yml +17 -0
  298. data/lib/locales/zh-CN.yml +1 -0
  299. data/lib/locales/zh-TW.yml +1 -0
  300. metadata +134 -133
  301. data/History.md +0 -176
  302. data/lib/faker/default/fillmurray.rb +0 -45
  303. data/lib/faker/default/lorem_pixel.rb +0 -69
  304. data/lib/locales/ja.yml +0 -105
  305. /data/lib/faker/default/{faker_adjective.rb → adjective.rb} +0 -0
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Games
5
+ class Touhou < Base
6
+ flexible :touhou
7
+ class << self
8
+ ##
9
+ # Produces the name of a Touhou game.
10
+ #
11
+ # @return [String]
12
+ #
13
+ # @example
14
+ # Faker::Games::Touhou.game #=> "Mountain of Faith"
15
+ #
16
+ # @faker.version next
17
+ def game
18
+ fetch('games.touhou.games')
19
+ end
20
+
21
+ ##
22
+ # Produces the name of a character from the Touhou games.
23
+ #
24
+ # @return [String]
25
+ #
26
+ # @example
27
+ # Faker::Games::Touhou.character #=> "Sanae Kochiya"
28
+ #
29
+ # @faker.version next
30
+ def character
31
+ fetch('games.touhou.characters')
32
+ end
33
+
34
+ ##
35
+ # Produces the name of a location from the Touhou games.
36
+ #
37
+ # @return [String]
38
+ #
39
+ # @example
40
+ # Faker::Games::Touhou.location #=> "Moriya Shrine"
41
+ #
42
+ # @faker.version next
43
+ def location
44
+ fetch('games.touhou.locations')
45
+ end
46
+
47
+ ##
48
+ # Produces the name of a spell card from the Touhou games.
49
+ #
50
+ # @return [String]
51
+ #
52
+ # @example
53
+ # Faker::Games::Touhou.spell_card #=> 'Esoterica "Gray Thaumaturgy"'
54
+ #
55
+ # @faker.version next
56
+ def spell_card
57
+ fetch('games.touhou.spell_cards')
58
+ end
59
+
60
+ ##
61
+ # Produces the name of a song from the Touhou games.
62
+ #
63
+ # @return [String]
64
+ #
65
+ # @example
66
+ # Faker::Games::Touhou.song #=> "Faith Is for the Transient People"
67
+ #
68
+ # @faker.version next
69
+ def song
70
+ fetch('games.touhou.songs')
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -81,6 +81,45 @@ module Faker
81
81
  def monster
82
82
  fetch('games.witcher.monsters')
83
83
  end
84
+
85
+ ##
86
+ # Produces the name of a sign from The Witcher.
87
+ #
88
+ # @return [String]
89
+ #
90
+ # @example
91
+ # Faker::Games::Witcher.sign #=> "Igni"
92
+ #
93
+ # @faker.version 2.18.0
94
+ def sign
95
+ fetch('games.witcher.signs')
96
+ end
97
+
98
+ ##
99
+ # Produces the name of a potion from The Witcher.
100
+ #
101
+ # @return [String]
102
+ #
103
+ # @example
104
+ # Faker::Games::Witcher.potion #=> "Gadwall"
105
+ #
106
+ # @faker.version 2.18.0
107
+ def potion
108
+ fetch('games.witcher.potions')
109
+ end
110
+
111
+ ##
112
+ # Produces the name of a book from The Witcher.
113
+ #
114
+ # @return [String]
115
+ #
116
+ # @example
117
+ # Faker::Games::Witcher.book #=> "Sword of Destiny"
118
+ #
119
+ # @faker.version 2.18.0
120
+ def book
121
+ fetch('games.witcher.books')
122
+ end
84
123
  end
85
124
  end
86
125
  end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class JapaneseMedia
5
+ class CowboyBebop < Base
6
+ class << self
7
+ ##
8
+ # Produces a character from Cowboy Bebop.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::JapaneseMedia::CowboyBebop.character #=> "Spike Spiegel"
14
+ #
15
+ # @faker.version next
16
+ def character
17
+ fetch('cowboy_bebop.character')
18
+ end
19
+
20
+ ##
21
+ # Produces an episode from Cowboy Bebop.
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::JapaneseMedia::CowboyBebop.episode #=> "Honky Tonk Women"
27
+ #
28
+ # @faker.version next
29
+ def episode
30
+ fetch('cowboy_bebop.episode')
31
+ end
32
+
33
+ ##
34
+ # Produces a song title from Cowboy Bebop.
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::JapaneseMedia::CowboyBebop.songs #=> "Live in Baghdad"
40
+ #
41
+ # @faker.version next
42
+ def song
43
+ fetch('cowboy_bebop.song')
44
+ end
45
+
46
+ ##
47
+ # Produces a quote from Cowboy Bebop.
48
+ #
49
+ # @return [String]
50
+ #
51
+ # @example
52
+ # Faker::JapaneseMedia::CowboyBebop.quote #=> "Bang!!!"
53
+ #
54
+ # @faker.version next
55
+ def quote
56
+ fetch('cowboy_bebop.quote')
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class JapaneseMedia
5
+ class FullmetalAlchemistBrotherhood < Base
6
+ class << self
7
+ ##
8
+ # Produces a character from FullmetalAlchemistBrotherhood.
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::JapaneseMedia::FullmetalAlchemistBrotherhood.character #=> "Edward Elric"
14
+ #
15
+ # @faker.version next
16
+ def character
17
+ fetch('fullmetal_alchemist_brotherhood.characters')
18
+ end
19
+
20
+ ##
21
+ # Produces a cities from FullmetalAlchemistBrotherhood.
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::JapaneseMedia::FullmetalAlchemistBrotherhood.city #=> "Central City"
27
+ #
28
+ # @faker.version next
29
+ def city
30
+ fetch('fullmetal_alchemist_brotherhood.cities')
31
+ end
32
+
33
+ ##
34
+ # Produces a country from FullmetalAlchemistBrotherhood.
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::JapaneseMedia::FullmetalAlchemistBrotherhood.country #=> "Xing"
40
+ #
41
+ # @faker.version next
42
+ def country
43
+ fetch('fullmetal_alchemist_brotherhood.countries')
44
+ end
45
+ end
46
+ end
47
+
48
+ include Faker::Deprecator
49
+ deprecate_generator('FmaBrotherhood', FullmetalAlchemistBrotherhood)
50
+ end
51
+ end
@@ -0,0 +1,102 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class JapaneseMedia
5
+ class KamenRider < Base
6
+ class << self
7
+ ERAS = %i[showa heisei reiwa].freeze
8
+
9
+ def eras=(new_eras)
10
+ selected_eras = ERAS & new_eras
11
+ @eras = selected_eras.empty? ? ERAS : selected_eras
12
+ end
13
+
14
+ ##
15
+ # Produces the name of a Kamen Rider from a series in the given era.
16
+ #
17
+ # @return [String]
18
+ #
19
+ # @example
20
+ # Faker::JapaneseMedia::KamenRider.kamen_rider #=> "Kamen Rider Revice"
21
+ #
22
+ # @faker.version next
23
+ def kamen_rider(*eras)
24
+ from_eras(*eras, field: :kamen_riders)
25
+ end
26
+
27
+ ##
28
+ # Produces the name of a main user of Kamen Rider.
29
+ #
30
+ # @return [String]
31
+ #
32
+ # @example
33
+ # Faker::JapaneseMedia::KamenRider.user #=> "Ikki Igarashi"
34
+ #
35
+ # @faker.version next
36
+ def user(*eras)
37
+ from_eras(*eras, field: :users)
38
+ end
39
+
40
+ ##
41
+ # Produces the name of a Kamen Rider series.
42
+ #
43
+ # @return [String]
44
+ #
45
+ # @example
46
+ # Faker::JapaneseMedia::KamenRider.series #=> "Kamen Rider Revice"
47
+ #
48
+ # @faker.version next
49
+ def series(*eras)
50
+ from_eras(*eras, field: :series)
51
+ end
52
+
53
+ ##
54
+ # Produces the name of a collectible device from a Kamen Rider series.
55
+ #
56
+ # @return [String]
57
+ #
58
+ # @example
59
+ # Faker::JapaneseMedia::KamenRider.collectible_device #=> "Vistamp"
60
+ #
61
+ # @faker.version next
62
+ def collectible_device(*eras)
63
+ from_eras(*eras, field: :collectible_devices) { |e| e.delete(:showa) }
64
+ end
65
+
66
+ # Produces the name of a transformation device used by a Kamen Rider
67
+ # from the given eras.
68
+ #
69
+ # @return [String]
70
+ #
71
+ # @example Faker::JapaneseMedia::KamenRider.transformation_device #=>
72
+ # "Revice Driver"
73
+ #
74
+ # @faker.version next
75
+ def transformation_device(*eras)
76
+ from_eras(*eras, field: :transformation_devices)
77
+ end
78
+
79
+ private
80
+
81
+ def eras
82
+ @eras ||= ERAS
83
+ end
84
+
85
+ def from_eras(*input_eras, field:)
86
+ selected_eras = (ERAS & input_eras).then do |selected|
87
+ selected.empty? ? eras : selected
88
+ end.dup
89
+ yield(selected_eras) if block_given?
90
+
91
+ raise UnavailableInEra, "#{field} is unavailable in the selected eras." if selected_eras.empty?
92
+
93
+ selected_eras.sample.then do |era|
94
+ fetch("kamen_rider.#{era}.#{field}")
95
+ end
96
+ end
97
+
98
+ class UnavailableInEra < StandardError; end
99
+ end
100
+ end
101
+ end
102
+ end
@@ -79,7 +79,7 @@ module Faker
79
79
  #
80
80
  # @faker.version 1.8.5
81
81
  def akuma_no_mi
82
- fetch('one_piece.akumas_no_mi')
82
+ fetch('one_piece.akuma_no_mi')
83
83
  end
84
84
  end
85
85
  end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Faker
4
+ class Locations
5
+ class Australia < Base
6
+ class << self
7
+ ##
8
+ # Produces a location in Australia
9
+ #
10
+ # @return [String]
11
+ #
12
+ # @example
13
+ # Faker::Locations::Australia.location
14
+ # #=> "Sydney"
15
+ #
16
+ # @faker.version next
17
+ def location
18
+ fetch('locations.australia.locations')
19
+ end
20
+
21
+ # Produces an Australian animal
22
+ #
23
+ # @return [String]
24
+ #
25
+ # @example
26
+ # Faker::Locations::Australia.animal
27
+ # #=> "Dingo"
28
+ #
29
+ # @faker.version next
30
+ def animal
31
+ fetch('locations.australia.animals')
32
+ end
33
+
34
+ # Produces an Australian State or Territory
35
+ #
36
+ # @return [String]
37
+ #
38
+ # @example
39
+ # Faker::Locations::Australia.state
40
+ # #=> "New South Wales"
41
+ #
42
+ # @faker.version next
43
+ def state
44
+ fetch('locations.australia.states')
45
+ end
46
+ end
47
+ end
48
+ end
49
+
50
+ include Deprecator
51
+ deprecate_generator('Australia', Locations::Australia)
52
+ end
@@ -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(legacy_character = NOT_GIVEN, character: nil)
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?
@@ -161,34 +157,106 @@ module Faker
161
157
  fetch("star_wars.quotes.#{character}")
162
158
  end
163
159
 
160
+ ##
161
+ # Generates numbers array
162
+ #
163
+ # @return [Array]
164
+ #
165
+ # @example
166
+ # Faker::Movies::StarWars.call_numbers #=> ["Leader", "#"]
167
+ #
168
+ # @faker.version 1.6.2
164
169
  def call_numbers
165
170
  fetch_all('star_wars.call_numbers')
166
171
  end
167
172
 
173
+ ##
174
+ # Returns squadrons array
175
+ #
176
+ # @return [Array]
177
+ #
178
+ # @example
179
+ # Faker::Movies::StarWars.call_squadrons #=> ["Rogue", "Red", "Gray", "Green", "Blue", "Gold", "Black", "Yellow", "Phoenix"]
180
+ #
181
+ # @faker.version 1.6.2
168
182
  def call_squadrons
169
183
  fetch_all('star_wars.call_squadrons')
170
184
  end
171
185
 
186
+ ##
187
+ # Returns all character names in movie
188
+ #
189
+ # @return [Array]
190
+ #
191
+ # @example
192
+ # Faker::Movies::StarWars.characters
193
+ #
194
+ # @faker.version 1.6.2
172
195
  def characters
173
196
  fetch_all('star_wars.characters')
174
197
  end
175
198
 
199
+ ##
200
+ # Returns droid list
201
+ #
202
+ # @return [Array]
203
+ #
204
+ # @example
205
+ # Faker::Movies::StarWars.droids
206
+ #
207
+ # @faker.versionn 1.6.2
176
208
  def droids
177
209
  fetch_all('star_wars.droids')
178
210
  end
179
211
 
212
+ ##
213
+ # Lists out all planet names
214
+ #
215
+ # @return [Array]
216
+ #
217
+ # @example
218
+ # Faker::Movies::StarWars.planets
219
+ #
220
+ # @faker.version 1.6.2
180
221
  def planets
181
222
  fetch_all('star_wars.planets')
182
223
  end
183
224
 
225
+ ##
226
+ # Returns name of all species
227
+ #
228
+ # @return [Array]
229
+ #
230
+ # @example
231
+ # Faker::Movies::StarWars.species
232
+ #
233
+ # @faker.version 1.6.2
184
234
  def species
185
235
  fetch_all('star_wars.species')
186
236
  end
187
237
 
238
+ ##
239
+ # Lists out all vehicles
240
+ #
241
+ # @return [Array]
242
+ #
243
+ # @example
244
+ # Faker::Movies::StarWars.vehicles
245
+ #
246
+ # @faker.version 1.6.2
188
247
  def vehicles
189
248
  fetch_all('star_wars.vehicles')
190
249
  end
191
250
 
251
+ ##
252
+ # All wookiee words
253
+ #
254
+ # @return [Array]
255
+ #
256
+ # @example
257
+ # Faker::Movies::StarWars.wookiee_words
258
+ #
259
+ # @faker.version 1.6.2
192
260
  def wookiee_words
193
261
  fetch_all('star_wars.wookiee_words')
194
262
  end
@@ -14,7 +14,7 @@ module Faker
14
14
  #
15
15
  # @faker.version next
16
16
  def actor
17
- fetch('room.actors')
17
+ fetch('the_room.actors')
18
18
  end
19
19
 
20
20
  ##
@@ -27,7 +27,7 @@ module Faker
27
27
  #
28
28
  # @faker.version next
29
29
  def character
30
- fetch('room.characters')
30
+ fetch('the_room.characters')
31
31
  end
32
32
 
33
33
  ##
@@ -40,7 +40,7 @@ module Faker
40
40
  #
41
41
  # @faker.version next
42
42
  def location
43
- fetch('room.locations')
43
+ fetch('the_room.locations')
44
44
  end
45
45
 
46
46
  ##
@@ -55,7 +55,7 @@ module Faker
55
55
  #
56
56
  # @faker.version next
57
57
  def quote
58
- fetch('room.quotes')
58
+ fetch('the_room.quotes')
59
59
  end
60
60
  end
61
61
  end