faker 2.20.0 → 3.2.1

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 (178) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +346 -7
  3. data/History.md +1 -1
  4. data/README.md +193 -107
  5. data/lib/faker/blockchain/aeternity.rb +1 -1
  6. data/lib/faker/blockchain/ethereum.rb +1 -1
  7. data/lib/faker/blockchain/tezos.rb +1 -1
  8. data/lib/faker/books/dune.rb +2 -10
  9. data/lib/faker/books/lovecraft.rb +7 -38
  10. data/lib/faker/default/address.rb +5 -25
  11. data/lib/faker/default/alphanumeric.rb +2 -8
  12. data/lib/faker/default/app.rb +1 -10
  13. data/lib/faker/default/avatar.rb +1 -12
  14. data/lib/faker/default/bank.rb +9 -17
  15. data/lib/faker/default/boolean.rb +1 -4
  16. data/lib/faker/default/chile_rut.rb +25 -25
  17. data/lib/faker/default/code.rb +68 -39
  18. data/lib/faker/default/color.rb +77 -6
  19. data/lib/faker/default/commerce.rb +3 -17
  20. data/lib/faker/default/company.rb +50 -19
  21. data/lib/faker/default/crypto_coin.rb +3 -15
  22. data/lib/faker/default/date.rb +65 -42
  23. data/lib/faker/default/demographic.rb +1 -5
  24. data/lib/faker/default/driving_licence.rb +20 -19
  25. data/lib/faker/default/drone.rb +1 -1
  26. data/lib/faker/default/file.rb +5 -24
  27. data/lib/faker/default/finance.rb +17 -7
  28. data/lib/faker/default/food.rb +14 -1
  29. data/lib/faker/default/hipster.rb +6 -45
  30. data/lib/faker/default/html.rb +230 -0
  31. data/lib/faker/default/id_number.rb +125 -14
  32. data/lib/faker/default/internet.rb +116 -111
  33. data/lib/faker/default/invoice.rb +4 -17
  34. data/lib/faker/default/json.rb +2 -20
  35. data/lib/faker/default/lorem.rb +25 -74
  36. data/lib/faker/default/lorem_flickr.rb +4 -32
  37. data/lib/faker/default/markdown.rb +6 -11
  38. data/lib/faker/default/marketing.rb +1 -1
  39. data/lib/faker/default/measurement.rb +16 -48
  40. data/lib/faker/default/name.rb +1 -5
  41. data/lib/faker/default/nhs.rb +2 -6
  42. data/lib/faker/default/number.rb +10 -55
  43. data/lib/faker/default/omniauth.rb +6 -40
  44. data/lib/faker/default/phone_number.rb +2 -6
  45. data/lib/faker/default/placeholdit.rb +1 -12
  46. data/lib/faker/default/relationship.rb +1 -5
  47. data/lib/faker/default/release notes.md +59 -0
  48. data/lib/faker/default/source.rb +3 -16
  49. data/lib/faker/default/string.rb +1 -5
  50. data/lib/faker/default/stripe.rb +4 -20
  51. data/lib/faker/default/time.rb +4 -32
  52. data/lib/faker/default/twitter.rb +7 -23
  53. data/lib/faker/default/types.rb +7 -28
  54. data/lib/faker/default/vehicle.rb +40 -51
  55. data/lib/faker/default/vulnerability_identifier.rb +23 -0
  56. data/lib/faker/default/world_cup.rb +2 -11
  57. data/lib/faker/games/clash_of_clans.rb +1 -1
  58. data/lib/faker/games/dnd.rb +49 -7
  59. data/lib/faker/games/dota.rb +1 -5
  60. data/lib/faker/games/final_fantasy_xiv.rb +73 -0
  61. data/lib/faker/games/minecraft.rb +1 -1
  62. data/lib/faker/games/myst.rb +1 -1
  63. data/lib/faker/games/tarkov.rb +205 -0
  64. data/lib/faker/japanese_media/cowboy_bebop.rb +61 -0
  65. data/lib/faker/japanese_media/kamen_rider.rb +2 -2
  66. data/lib/faker/japanese_media/one_piece.rb +1 -1
  67. data/lib/faker/movies/avatar.rb +49 -0
  68. data/lib/faker/movies/hackers.rb +48 -0
  69. data/lib/faker/movies/star_wars.rb +1 -5
  70. data/lib/faker/movies/tron.rb +161 -0
  71. data/lib/faker/quotes/quote.rb +13 -0
  72. data/lib/faker/sports/chess.rb +90 -0
  73. data/lib/faker/sports/mountaineering.rb +22 -0
  74. data/lib/faker/sports/sport.rb +116 -0
  75. data/lib/faker/travel/airport.rb +43 -0
  76. data/lib/faker/travel/train_station.rb +54 -0
  77. data/lib/faker/tv_shows/archer.rb +51 -0
  78. data/lib/faker/tv_shows/south_park.rb +15 -0
  79. data/lib/faker/tv_shows/spongebob.rb +50 -0
  80. data/lib/faker/version.rb +1 -1
  81. data/lib/faker.rb +26 -67
  82. data/lib/helpers/base58.rb +1 -1
  83. data/lib/helpers/positional_generator.rb +480 -0
  84. data/lib/helpers/unique_generator.rb +13 -11
  85. data/lib/locales/README.md +18 -2
  86. data/lib/locales/ar.yml +1 -0
  87. data/lib/locales/bg.yml +1 -1
  88. data/lib/locales/da-DK.yml +1 -1
  89. data/lib/locales/de-AT.yml +1 -2
  90. data/lib/locales/de-CH.yml +4336 -12
  91. data/lib/locales/de.yml +1 -1
  92. data/lib/locales/en/airport.yml +381 -0
  93. data/lib/locales/en/archer.yml +75 -0
  94. data/lib/locales/en/australia.yml +3 -4
  95. data/lib/locales/en/avatar.yml +31 -0
  96. data/lib/locales/en/chess.yml +103 -0
  97. data/lib/locales/en/company.yml +1 -0
  98. data/lib/locales/en/computer.yml +23 -4
  99. data/lib/locales/en/cowboy_bebop.yml +163 -0
  100. data/lib/locales/en/dnd.yml +186 -1
  101. data/lib/locales/en/dota.yml +113 -0
  102. data/lib/locales/en/file.yml +9 -1
  103. data/lib/locales/en/final_fantasy_xiv.yml +754 -0
  104. data/lib/locales/en/finance.yml +3 -1
  105. data/lib/locales/en/food.yml +12 -0
  106. data/lib/locales/en/game.yml +0 -1
  107. data/lib/locales/en/hackers.yml +53 -0
  108. data/lib/locales/en/heroes.yml +2 -2
  109. data/lib/locales/en/internet.yml +32 -0
  110. data/lib/locales/en/minecraft.yml +4 -4
  111. data/lib/locales/en/mitch_hedberg.yml +46 -0
  112. data/lib/locales/en/mountaineering.yml +14 -0
  113. data/lib/locales/en/movie.yml +2 -1
  114. data/lib/locales/en/naruto.yml +2 -3
  115. data/lib/locales/en/one_piece.yml +1 -1
  116. data/lib/locales/en/opera.yml +2 -2
  117. data/lib/locales/en/overwatch.yml +5 -7
  118. data/lib/locales/en/source.yml +5 -0
  119. data/lib/locales/en/south_park.yml +360 -2
  120. data/lib/locales/en/spongebob.yml +489 -0
  121. data/lib/locales/en/sport.yml +130 -0
  122. data/lib/locales/en/star_wars.yml +1 -1
  123. data/lib/locales/en/tarkov.yml +593 -0
  124. data/lib/locales/en/train_station.yml +280 -0
  125. data/lib/locales/en/tron.yml +227 -0
  126. data/lib/locales/en/vehicle.yml +2809 -75
  127. data/lib/locales/en-AU.yml +2 -2
  128. data/lib/locales/en-CA.yml +2 -1
  129. data/lib/locales/en-GB.yml +2 -1
  130. data/lib/locales/en-MS.yml +1 -0
  131. data/lib/locales/en-NG.yml +1 -0
  132. data/lib/locales/en-NZ.yml +1 -0
  133. data/lib/locales/en-PAK.yml +1 -0
  134. data/lib/locales/en-SG.yml +1 -0
  135. data/lib/locales/en-UG.yml +1 -0
  136. data/lib/locales/en-US.yml +1 -1
  137. data/lib/locales/en-ZA.yml +1 -1
  138. data/lib/locales/en-au-ocker.yml +2 -0
  139. data/lib/locales/es-AR.yml +3 -2
  140. data/lib/locales/es-MX.yml +1 -1
  141. data/lib/locales/es.yml +2 -2
  142. data/lib/locales/fi-FI.yml +3 -1
  143. data/lib/locales/fr/address.yml +0 -1
  144. data/lib/locales/fr/adjective.yml +266 -0
  145. data/lib/locales/fr/ancient.yml +141 -0
  146. data/lib/locales/fr/name.yml +2 -1
  147. data/lib/locales/fr-CA.yml +1 -1
  148. data/lib/locales/fr-CH.yml +1 -1
  149. data/lib/locales/hy.yml +2 -1
  150. data/lib/locales/it.yml +1 -0
  151. data/lib/locales/ja/adjective.yml +148 -0
  152. data/lib/locales/ja/dog.yml +1 -0
  153. data/lib/locales/ja/emotion.yml +51 -0
  154. data/lib/locales/ja/naruto.yml +230 -0
  155. data/lib/locales/ja/relationship.yml +10 -0
  156. data/lib/locales/ja/sport.yml +130 -0
  157. data/lib/locales/ja/super_mario.yml +1 -1
  158. data/lib/locales/ko.yml +1 -0
  159. data/lib/locales/lt.yml +0 -1
  160. data/lib/locales/mi-NZ.yml +2 -0
  161. data/lib/locales/nb-NO.yml +1 -0
  162. data/lib/locales/nl.yml +1 -0
  163. data/lib/locales/pl.yml +2 -2
  164. data/lib/locales/pt-BR.yml +1 -0
  165. data/lib/locales/pt.yml +1 -1
  166. data/lib/locales/ru.yml +1 -0
  167. data/lib/locales/sk.yml +1 -0
  168. data/lib/locales/sv.yml +1 -0
  169. data/lib/locales/th.yml +76 -76
  170. data/lib/locales/tr.yml +1 -0
  171. data/lib/locales/uk.yml +3 -0
  172. data/lib/locales/vi.yml +1 -0
  173. data/lib/locales/zh-CN.yml +1 -0
  174. data/lib/locales/zh-TW.yml +1 -0
  175. metadata +46 -127
  176. data/lib/faker/default/fillmurray.rb +0 -45
  177. data/lib/faker/default/lorem_pixel.rb +0 -70
  178. /data/lib/faker/default/{faker_adjective.rb → adjective.rb} +0 -0
@@ -12,13 +12,11 @@ module Faker
12
12
  super()
13
13
 
14
14
  @name = name || "#{Name.first_name} #{Name.last_name}"
15
- @email = email || Internet.safe_email(name: self.name)
15
+ @email = email || Internet.email(name: self.name)
16
16
  @first_name, @last_name = self.name.split
17
17
  end
18
18
 
19
19
  class << self
20
- # rubocop:disable Metrics/ParameterLists
21
-
22
20
  ##
23
21
  # Generate a mock Omniauth response from Google.
24
22
  #
@@ -29,13 +27,7 @@ module Faker
29
27
  # @return [Hash] An auth hash in the format provided by omniauth-google.
30
28
  #
31
29
  # @faker.version 1.8.0
32
- def google(legacy_name = NOT_GIVEN, legacy_email = NOT_GIVEN, legacy_uid = NOT_GIVEN, name: nil, email: nil, uid: Number.number(digits: 9).to_s)
33
- warn_for_deprecated_arguments do |keywords|
34
- keywords << :name if legacy_name != NOT_GIVEN
35
- keywords << :email if legacy_email != NOT_GIVEN
36
- keywords << :uid if legacy_uid != NOT_GIVEN
37
- end
38
-
30
+ def google(name: nil, email: nil, uid: Number.number(digits: 9).to_s)
39
31
  auth = Omniauth.new(name: name, email: email)
40
32
  {
41
33
  provider: 'google_oauth2',
@@ -95,14 +87,7 @@ module Faker
95
87
  # @return [Hash] An auth hash in the format provided by omniauth-facebook.
96
88
  #
97
89
  # @faker.version 1.8.0
98
- def facebook(legacy_name = NOT_GIVEN, legacy_email = NOT_GIVEN, legacy_username = NOT_GIVEN, legacy_uid = NOT_GIVEN, name: nil, email: nil, username: nil, uid: Number.number(digits: 7).to_s)
99
- warn_for_deprecated_arguments do |keywords|
100
- keywords << :name if legacy_name != NOT_GIVEN
101
- keywords << :email if legacy_email != NOT_GIVEN
102
- keywords << :username if legacy_username != NOT_GIVEN
103
- keywords << :uid if legacy_uid != NOT_GIVEN
104
- end
105
-
90
+ def facebook(name: nil, email: nil, username: nil, uid: Number.number(digits: 7).to_s)
106
91
  auth = Omniauth.new(name: name, email: email)
107
92
  username ||= "#{auth.first_name.downcase[0]}#{auth.last_name.downcase}"
108
93
  {
@@ -154,13 +139,7 @@ module Faker
154
139
  # @return [Hash] An auth hash in the format provided by omniauth-twitter.
155
140
  #
156
141
  # @faker.version 1.8.0
157
- def twitter(legacy_name = NOT_GIVEN, legacy_nickname = NOT_GIVEN, legacy_uid = NOT_GIVEN, name: nil, nickname: nil, uid: Number.number(digits: 6).to_s)
158
- warn_for_deprecated_arguments do |keywords|
159
- keywords << :name if legacy_name != NOT_GIVEN
160
- keywords << :nickname if legacy_nickname != NOT_GIVEN
161
- keywords << :uid if legacy_uid != NOT_GIVEN
162
- end
163
-
142
+ def twitter(name: nil, nickname: nil, uid: Number.number(digits: 6).to_s)
164
143
  auth = Omniauth.new(name: name)
165
144
  nickname ||= auth.name.downcase.delete(' ')
166
145
  location = city_state
@@ -243,13 +222,7 @@ module Faker
243
222
  # @return [Hash] An auth hash in the format provided by omniauth-linkedin.
244
223
  #
245
224
  # @faker.version 1.8.0
246
- def linkedin(legacy_name = NOT_GIVEN, legacy_email = NOT_GIVEN, legacy_uid = NOT_GIVEN, name: nil, email: nil, uid: Number.number(digits: 6).to_s)
247
- warn_for_deprecated_arguments do |keywords|
248
- keywords << :name if legacy_name != NOT_GIVEN
249
- keywords << :email if legacy_email != NOT_GIVEN
250
- keywords << :uid if legacy_uid != NOT_GIVEN
251
- end
252
-
225
+ def linkedin(name: nil, email: nil, uid: Number.number(digits: 6).to_s)
253
226
  auth = Omniauth.new(name: name, email: email)
254
227
  first_name = auth.first_name.downcase
255
228
  last_name = auth.last_name.downcase
@@ -322,13 +295,7 @@ module Faker
322
295
  # @return [Hash] An auth hash in the format provided by omniauth-github.
323
296
  #
324
297
  # @faker.version 1.8.0
325
- def github(legacy_name = NOT_GIVEN, legacy_email = NOT_GIVEN, legacy_uid = NOT_GIVEN, name: nil, email: nil, uid: Number.number(digits: 8).to_s)
326
- warn_for_deprecated_arguments do |keywords|
327
- keywords << :name if legacy_name != NOT_GIVEN
328
- keywords << :email if legacy_email != NOT_GIVEN
329
- keywords << :uid if legacy_uid != NOT_GIVEN
330
- end
331
-
298
+ def github(name: nil, email: nil, uid: Number.number(digits: 8).to_s)
332
299
  auth = Omniauth.new(name: name, email: email)
333
300
  login = auth.name.downcase.tr(' ', '-')
334
301
  html_url = "https://github.com/#{login}"
@@ -385,7 +352,6 @@ module Faker
385
352
  }
386
353
  }
387
354
  end
388
- # rubocop:enable Metrics/ParameterLists
389
355
 
390
356
  ##
391
357
  # Generate a mock Omniauth response from Apple.
@@ -114,7 +114,7 @@ module Faker
114
114
  ##
115
115
  # Produces a random US or Canada-based extension / subscriber number. Can be used for both extensions and last four digits of phone number.
116
116
  #
117
- # @param length [Integer] Speficies the length of the return value.
117
+ # @param length [Integer] Specifies the length of the return value.
118
118
  # @return [String]
119
119
  #
120
120
  # @example
@@ -123,11 +123,7 @@ module Faker
123
123
  # Faker::PhoneNumber.extension #=> "3764"
124
124
  #
125
125
  # @faker.version 1.3.0
126
- def subscriber_number(legacy_length = NOT_GIVEN, length: 4)
127
- warn_for_deprecated_arguments do |keywords|
128
- keywords << :length if legacy_length != NOT_GIVEN
129
- end
130
-
126
+ def subscriber_number(length: 4)
131
127
  rand.to_s[2..(1 + length)]
132
128
  end
133
129
 
@@ -5,8 +5,6 @@ module Faker
5
5
  class << self
6
6
  SUPPORTED_FORMATS = %w[png jpg gif jpeg].freeze
7
7
 
8
- # rubocop:disable Metrics/ParameterLists
9
-
10
8
  ##
11
9
  # Produces a random placeholder image from https://via.placeholder.com.
12
10
  #
@@ -28,15 +26,7 @@ module Faker
28
26
  # Faker::Placeholdit.image(size: '50x50', format: 'jpg', background_color: 'ffffff', text_color: '000', text: 'Some Custom Text') #=> "https://via.placeholder.com/50x50.jpg/ffffff/000?text=Some Custom Text"
29
27
  #
30
28
  # @faker.version 1.6.0
31
- def image(legacy_size = NOT_GIVEN, legacy_format = NOT_GIVEN, legacy_background_color = NOT_GIVEN, legacy_text_color = NOT_GIVEN, legacy_text = NOT_GIVEN, size: '300x300', format: 'png', background_color: nil, text_color: nil, text: nil)
32
- warn_for_deprecated_arguments do |keywords|
33
- keywords << :size if legacy_size != NOT_GIVEN
34
- keywords << :format if legacy_format != NOT_GIVEN
35
- keywords << :background_color if legacy_background_color != NOT_GIVEN
36
- keywords << :text_color if legacy_text_color != NOT_GIVEN
37
- keywords << :text if legacy_text != NOT_GIVEN
38
- end
39
-
29
+ def image(size: '300x300', format: 'png', background_color: nil, text_color: nil, text: nil)
40
30
  background_color = generate_color if background_color == :random
41
31
  text_color = generate_color if text_color == :random
42
32
 
@@ -51,7 +41,6 @@ module Faker
51
41
  image_url += "?text=#{text}" if text
52
42
  image_url
53
43
  end
54
- # rubocop:enable Metrics/ParameterLists
55
44
 
56
45
  private
57
46
 
@@ -14,11 +14,7 @@ module Faker
14
14
  # Faker::Relationship.familial #=> "Grandfather"
15
15
  #
16
16
  # @faker.version 1.9.2
17
- def familial(legacy_connection = NOT_GIVEN, connection: nil)
18
- warn_for_deprecated_arguments do |keywords|
19
- keywords << :connection if legacy_connection != NOT_GIVEN
20
- end
21
-
17
+ def familial(connection: nil)
22
18
  familial_connections = translate('faker.relationship.familial').keys
23
19
 
24
20
  if connection.nil?
@@ -0,0 +1,59 @@
1
+
2
+
3
+ ## What's Changed
4
+ * Add Final Fantasy XIV by @old-dead-account in https://github.com/faker-ruby/faker/pull/2742
5
+ * Update rubocop requirement from = 1.50.1 to = 1.50.2 by @dependabot in https://github.com/faker-ruby/faker/pull/2752
6
+ * Update South Park by @IvanReyesO7 in https://github.com/faker-ruby/faker/pull/2744
7
+ * add tests for password and fix an edge case by @DeepakRaj228 in https://github.com/faker-ruby/faker/pull/2741
8
+ * Speed up Internet::Password generation using constants by @MicBruz in https://github.com/faker-ruby/faker/pull/2725
9
+ * Add the Ukrainian country calling code by @kyrylo in https://github.com/faker-ruby/faker/pull/2758
10
+ * Update test-unit requirement from = 3.5.7 to = 3.5.8 by @dependabot in https://github.com/faker-ruby/faker/pull/2760
11
+ * Bump i18n from 1.12.0 to 1.13.0 by @dependabot in https://github.com/faker-ruby/faker/pull/2756
12
+ * Update rubocop-minitest requirement from = 0.30.0 to = 0.31.0 by @dependabot in https://github.com/faker-ruby/faker/pull/2759
13
+ * Remove broken chars from minecraft.yml by @ujihisa in https://github.com/faker-ruby/faker/pull/2765
14
+ * Update test-unit requirement from = 3.5.8 to = 3.5.9 by @dependabot in https://github.com/faker-ruby/faker/pull/2766
15
+ * Add `exclude_words` filter to `Faker::Lorem.word` generator by @geophilusd in https://github.com/faker-ruby/faker/pull/2761
16
+ * Improve de-CH locale with new formats and content by @stefnnn in https://github.com/faker-ruby/faker/pull/2768
17
+ * Add Japanese translations for Sports category. by @yamat47 in https://github.com/faker-ruby/faker/pull/2770
18
+ * Fix flaky specs for `name` and `id` by @ruban-thilak in https://github.com/faker-ruby/faker/pull/2782
19
+ * Add type support for Faker::Types.rb_array by @ruban-thilak in https://github.com/faker-ruby/faker/pull/2771
20
+ * Added Archer into tv category. by @lepari23 in https://github.com/faker-ruby/faker/pull/2750
21
+ * Add train station generator by @AngusDSR in https://github.com/faker-ruby/faker/pull/2755
22
+ * Fixes `Faker::Music::Opera.saint_saens` issue by @devashishTaneja in https://github.com/faker-ruby/faker/pull/2792
23
+ * Add custom start date for `Faker::Date.forward` by @luciagirasoles in https://github.com/faker-ruby/faker/pull/2791
24
+ * Fix flaky specs for dota `test_player` by @ruban-thilak in https://github.com/faker-ruby/faker/pull/2798
25
+ * Update minitest requirement from = 5.18.0 to = 5.18.1 by @dependabot in https://github.com/faker-ruby/faker/pull/2781
26
+ * Update test-unit requirement from = 3.5.9 to = 3.6.1 by @dependabot in https://github.com/faker-ruby/faker/pull/2788
27
+ * Introduce PositionalGenerator by @mike-burns in https://github.com/faker-ruby/faker/pull/2710
28
+ * Bump rubocop 1.54.2 + offenses fixes by @stefannibrasil in https://github.com/faker-ruby/faker/pull/2801
29
+ * Add prefixes to french name locale (`Faker::Name.name`) by @thdaraujo in https://github.com/faker-ruby/faker/pull/2800
30
+ * Add `max_rut` option to `Faker::ChileRut.rut` by @hacktivista in https://github.com/faker-ruby/faker/pull/2778
31
+ * Fix locale setting by @mateusdeap in https://github.com/faker-ruby/faker/pull/2734
32
+ * Test default locale + and update README by @stefannibrasil in https://github.com/faker-ruby/faker/pull/2802
33
+ * Bump minitest from 5.18.1 to 5.19.0 by @dependabot in https://github.com/faker-ruby/faker/pull/2804
34
+ * Bump rubocop from 1.54.2 to 1.55.0 by @dependabot in https://github.com/faker-ruby/faker/pull/2803
35
+ * Bump rubocop from 1.55.0 to 1.55.1 by @dependabot in https://github.com/faker-ruby/faker/pull/2805
36
+ * Add Faker::Date.day_of_week_between by @aramvisser in https://github.com/faker-ruby/faker/pull/2713
37
+ * Html generator for Faker by @ruban-thilak in https://github.com/faker-ruby/faker/pull/2769
38
+ * Bump rubocop from 1.55.1 to 1.56.0 by @dependabot in https://github.com/faker-ruby/faker/pull/2807
39
+
40
+ ## New Contributors
41
+ * @old-dead-account made their first contribution in https://github.com/faker-ruby/faker/pull/2742
42
+ * @IvanReyesO7 made their first contribution in https://github.com/faker-ruby/faker/pull/2744
43
+ * @DeepakRaj228 made their first contribution in https://github.com/faker-ruby/faker/pull/2741
44
+ * @MicBruz made their first contribution in https://github.com/faker-ruby/faker/pull/2725
45
+ * @kyrylo made their first contribution in https://github.com/faker-ruby/faker/pull/2758
46
+ * @ujihisa made their first contribution in https://github.com/faker-ruby/faker/pull/2765
47
+ * @geophilusd made their first contribution in https://github.com/faker-ruby/faker/pull/2761
48
+ * @stefnnn made their first contribution in https://github.com/faker-ruby/faker/pull/2768
49
+ * @yamat47 made their first contribution in https://github.com/faker-ruby/faker/pull/2770
50
+ * @ruban-thilak made their first contribution in https://github.com/faker-ruby/faker/pull/2782
51
+ * @lepari23 made their first contribution in https://github.com/faker-ruby/faker/pull/2750
52
+ * @AngusDSR made their first contribution in https://github.com/faker-ruby/faker/pull/2755
53
+ * @devashishTaneja made their first contribution in https://github.com/faker-ruby/faker/pull/2792
54
+ * @mike-burns made their first contribution in https://github.com/faker-ruby/faker/pull/2710
55
+ * @hacktivista made their first contribution in https://github.com/faker-ruby/faker/pull/2778
56
+ * @mateusdeap made their first contribution in https://github.com/faker-ruby/faker/pull/2734
57
+ * @aramvisser made their first contribution in https://github.com/faker-ruby/faker/pull/2713
58
+
59
+ **Full Changelog**: https://github.com/faker-ruby/faker/compare/v3.2.0...v3.2.1
@@ -17,11 +17,7 @@ module Faker
17
17
  # #=> "alert('Hello World!');"
18
18
  #
19
19
  # @faker.version 1.9.0
20
- def hello_world(legacy_lang = NOT_GIVEN, lang: :ruby)
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(legacy_str = NOT_GIVEN, legacy_lang = NOT_GIVEN, str: 'some string', lang: :ruby)
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(legacy_lang = NOT_GIVEN, lang: :ruby)
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
@@ -17,11 +17,7 @@ module Faker
17
17
  # Faker::String.random(length: [1, (2..5), [3, 6], nil]) #=> "葓L#ћ"
18
18
  #
19
19
  # @faker.version 1.9.0
20
- def random(legacy_length = NOT_GIVEN, length: 32)
21
- warn_for_deprecated_arguments do |keywords|
22
- keywords << :length if legacy_length != NOT_GIVEN
23
- end
24
-
20
+ def random(length: 32)
25
21
  utf8string select_a length
26
22
  end
27
23
 
@@ -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(legacy_card_type = NOT_GIVEN, card_type: nil)
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(legacy_card_type = NOT_GIVEN, card_type: nil)
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(legacy_card_error = NOT_GIVEN, card_error: nil)
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(legacy_card_type = NOT_GIVEN, card_type: nil)
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
@@ -13,8 +13,6 @@ module Faker
13
13
  }.freeze
14
14
 
15
15
  class << self
16
- # rubocop:disable Metrics/ParameterLists
17
-
18
16
  ##
19
17
  # Produce a random time between two times.
20
18
  #
@@ -37,13 +35,7 @@ module Faker
37
35
  # Faker::Time.between(from: DateTime.now - 1, to: DateTime.now, format: :long) #=> "2018年10月16日(火) 10時48分27秒 -0500"
38
36
  #
39
37
  # @faker.version 1.5.0
40
- def between(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, legacy_format = NOT_GIVEN, from:, to:, format: nil)
41
- warn_for_deprecated_arguments do |keywords|
42
- keywords << :from if legacy_from != NOT_GIVEN
43
- keywords << :to if legacy_to != NOT_GIVEN
44
- keywords << :format if legacy_format != NOT_GIVEN
45
- end
46
-
38
+ def between(from:, to:, format: nil)
47
39
  from = get_time_object(from)
48
40
  to = get_time_object(to)
49
41
 
@@ -79,14 +71,7 @@ module Faker
79
71
  # #=> "Fri, 19 Oct 2018 15:17:46 -0500"
80
72
  #
81
73
  # @faker.version 1.0.0
82
- def between_dates(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, legacy_period = NOT_GIVEN, legacy_format = NOT_GIVEN, from:, to:, period: :all, format: nil)
83
- warn_for_deprecated_arguments do |keywords|
84
- keywords << :from if legacy_from != NOT_GIVEN
85
- keywords << :to if legacy_to != NOT_GIVEN
86
- keywords << :period if legacy_period != NOT_GIVEN
87
- keywords << :format if legacy_format != NOT_GIVEN
88
- end
89
-
74
+ def between_dates(from:, to:, period: :all, format: nil)
90
75
  date = Faker::Date.between(from: from, to: to)
91
76
  time = date_with_random_time(date, period)
92
77
  time_with_format(time, format)
@@ -107,13 +92,7 @@ module Faker
107
92
  # #=> "October 21, 2018 20:47"
108
93
  #
109
94
  # @faker.version 1.5.0
110
- def forward(legacy_days = NOT_GIVEN, legacy_period = NOT_GIVEN, legacy_format = NOT_GIVEN, days: 365, period: :all, format: nil)
111
- warn_for_deprecated_arguments do |keywords|
112
- keywords << :days if legacy_days != NOT_GIVEN
113
- keywords << :period if legacy_period != NOT_GIVEN
114
- keywords << :format if legacy_format != NOT_GIVEN
115
- end
116
-
95
+ def forward(days: 365, period: :all, format: nil)
117
96
  time_with_format(date_with_random_time(Faker::Date.forward(days: days), period), format)
118
97
  end
119
98
 
@@ -132,16 +111,9 @@ module Faker
132
111
  # #=> "14 Oct 07:44"
133
112
  #
134
113
  # @faker.version 1.5.0
135
- def backward(legacy_days = NOT_GIVEN, legacy_period = NOT_GIVEN, legacy_format = NOT_GIVEN, days: 365, period: :all, format: nil)
136
- warn_for_deprecated_arguments do |keywords|
137
- keywords << :days if legacy_days != NOT_GIVEN
138
- keywords << :period if legacy_period != NOT_GIVEN
139
- keywords << :format if legacy_format != NOT_GIVEN
140
- end
141
-
114
+ def backward(days: 365, period: :all, format: nil)
142
115
  time_with_format(date_with_random_time(Faker::Date.backward(days: days), period), format)
143
116
  end
144
- # rubocop:enable Metrics/ParameterLists
145
117
 
146
118
  private
147
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(legacy_include_status = NOT_GIVEN, legacy_include_email = NOT_GIVEN, include_status: true, include_email: false)
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::LoremPixel.image(size: '600x400') # TODO: Make the dimensions change
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::LoremPixel.image(size: '1500x500'),
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.safe_email if include_email
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(legacy_include_user = NOT_GIVEN, legacy_include_photo = NOT_GIVEN, include_user: true, include_photo: false)
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(legacy_include_photo = NOT_GIVEN, include_photo: false)
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
- # TODO: Dynamic image sizes
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,
@@ -16,11 +16,7 @@ module Faker
16
16
  # Faker::Types.rb_string #=> "foobar"
17
17
  #
18
18
  # @faker.version 1.8.6
19
- def rb_string(legacy_words = NOT_GIVEN, words: 1)
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
21
  word_list =
26
22
  translate('faker.lorem.words')
@@ -51,12 +47,7 @@ module Faker
51
47
  # Faker::Types.rb_integer #=> 1
52
48
  #
53
49
  # @faker.version 1.8.6
54
- def rb_integer(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: 0, to: 100)
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
-
50
+ def rb_integer(from: 0, to: 100)
60
51
  rand(from..to).to_i
61
52
  end
62
53
 
@@ -72,12 +63,7 @@ module Faker
72
63
  # Faker::Types.rb_hash(number: 2) #=> {name: "bob", last: "marley"}
73
64
  #
74
65
  # @faker.version 1.8.6
75
- def rb_hash(legacy_number = NOT_GIVEN, legacy_type = NOT_GIVEN, number: 1, type: -> { random_type })
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
-
66
+ def rb_hash(number: 1, type: -> { random_type })
81
67
  {}.tap do |hsh|
82
68
  Lorem.words(number: number * 2).uniq.first(number).each do |s|
83
69
  value = type.is_a?(Proc) ? type.call : type
@@ -98,11 +84,7 @@ module Faker
98
84
  # Faker::Types.complex_rb_hash(number: 2) #=> {user: {first: "bob", last: "marley"}, son: ["damien", "marley"]}
99
85
  #
100
86
  # @faker.version 1.8.6
101
- def complex_rb_hash(legacy_number = NOT_GIVEN, number: 1)
102
- warn_for_deprecated_arguments do |keywords|
103
- keywords << :number if legacy_number != NOT_GIVEN
104
- end
105
-
87
+ def complex_rb_hash(number: 1)
106
88
  rb_hash(number: number, type: -> { random_complex_type })
107
89
  end
108
90
 
@@ -115,16 +97,13 @@ module Faker
115
97
  # @example
116
98
  # Faker::Types.rb_array #=> ["a"]
117
99
  # Faker::Types.rb_array(len: 4) #=> ["a", 1, 2, "bob"]
100
+ # Faker::Types.rb_array(len: 2, type: -> { Faker::Types.rb_string }) #=> ["cat", "foo"]
118
101
  #
119
102
  # @faker.version 1.8.6
120
- def rb_array(legacy_len = NOT_GIVEN, len: 1)
121
- warn_for_deprecated_arguments do |keywords|
122
- keywords << :len if legacy_len != NOT_GIVEN
123
- end
124
-
103
+ def rb_array(len: 1, type: -> { random_type })
125
104
  [].tap do |ar|
126
105
  len.times do
127
- ar.push random_type
106
+ ar.push type.is_a?(Proc) ? type.call : type
128
107
  end
129
108
  end
130
109
  end