faker 3.5.1 → 3.6.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 (258) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +197 -7
  3. data/README.md +78 -393
  4. data/lib/faker/blockchain/bitcoin.rb +0 -1
  5. data/lib/faker/blockchain/tezos.rb +0 -1
  6. data/lib/faker/books/lovecraft.rb +1 -1
  7. data/lib/faker/default/avatar.rb +1 -1
  8. data/lib/faker/default/bank.rb +1 -5
  9. data/lib/faker/default/boolean.rb +2 -1
  10. data/lib/faker/default/code.rb +4 -0
  11. data/lib/faker/default/company.rb +2 -2
  12. data/lib/faker/default/crypto.rb +0 -2
  13. data/lib/faker/default/driving_licence.rb +1 -1
  14. data/lib/faker/default/finance.rb +2 -2
  15. data/lib/faker/default/hipster.rb +1 -1
  16. data/lib/faker/default/html.rb +1 -1
  17. data/lib/faker/default/id_number.rb +1 -1
  18. data/lib/faker/default/internet.rb +1 -1
  19. data/lib/faker/default/invoice.rb +2 -2
  20. data/lib/faker/default/json.rb +7 -2
  21. data/lib/faker/default/lorem.rb +1 -1
  22. data/lib/faker/default/lorem_flickr.rb +1 -1
  23. data/lib/faker/default/markdown.rb +2 -2
  24. data/lib/faker/default/national_health_service.rb +1 -2
  25. data/lib/faker/default/placeholdit.rb +2 -2
  26. data/lib/faker/default/string.rb +1 -1
  27. data/lib/faker/default/types.rb +2 -2
  28. data/lib/faker/default/x.rb +189 -0
  29. data/lib/faker/music/bossa_nova.rb +37 -0
  30. data/lib/faker/version.rb +1 -1
  31. data/lib/faker.rb +13 -10
  32. data/lib/helpers/deprecator.rb +1 -1
  33. data/lib/helpers/unique_generator.rb +1 -1
  34. data/lib/locales/README.md +2 -2
  35. data/lib/locales/ar.yml +1606 -49
  36. data/lib/locales/bg.yml +935 -18
  37. data/lib/locales/ca-CAT.yml +347 -12
  38. data/lib/locales/ca.yml +580 -7
  39. data/lib/locales/de-CH.yml +31 -0
  40. data/lib/locales/ee.yml +1185 -26
  41. data/lib/locales/en/adjective.yml +174 -174
  42. data/lib/locales/en/airport.yml +374 -374
  43. data/lib/locales/en/ancient.yml +128 -4
  44. data/lib/locales/en/animal.yml +141 -2
  45. data/lib/locales/en/app.yml +89 -2
  46. data/lib/locales/en/appliance.yml +81 -2
  47. data/lib/locales/en/aqua_teen_hunger_force.yml +31 -31
  48. data/lib/locales/en/artist.yml +43 -1
  49. data/lib/locales/en/avatar.yml +54 -28
  50. data/lib/locales/en/back_to_the_future.yml +145 -117
  51. data/lib/locales/en/bank.yml +91 -2
  52. data/lib/locales/en/beer.yml +232 -6
  53. data/lib/locales/en/bible.yml +3 -6
  54. data/lib/locales/en/big_bang_theory.yml +34 -35
  55. data/lib/locales/en/bird.yml +1225 -1226
  56. data/lib/locales/en/bojack_horseman.yml +63 -3
  57. data/lib/locales/en/bossa_nova.yml +110 -3
  58. data/lib/locales/en/breaking_bad.yml +110 -25
  59. data/lib/locales/en/brooklyn_nine_nine.yml +0 -1
  60. data/lib/locales/en/buffy.yml +239 -257
  61. data/lib/locales/en/business.yml +18 -2
  62. data/lib/locales/en/cannabis.yml +344 -10
  63. data/lib/locales/en/cat.yml +155 -3
  64. data/lib/locales/en/chess.yml +2 -3
  65. data/lib/locales/en/chiquito.yml +60 -61
  66. data/lib/locales/en/chuck_norris.yml +78 -79
  67. data/lib/locales/en/clash_of_clan.yml +0 -2
  68. data/lib/locales/en/code.yml +501 -1
  69. data/lib/locales/en/coffee.yml +450 -25
  70. data/lib/locales/en/color.yml +73 -1
  71. data/lib/locales/en/commerce.yml +117 -23
  72. data/lib/locales/en/community.yml +55 -30
  73. data/lib/locales/en/company.yml +1756 -14
  74. data/lib/locales/en/compass.yml +108 -12
  75. data/lib/locales/en/conan.yml +0 -2
  76. data/lib/locales/en/construction.yml +416 -422
  77. data/lib/locales/en/cosmere.yml +219 -54
  78. data/lib/locales/en/cowboy_bebop.yml +56 -59
  79. data/lib/locales/en/culture_series.yml +298 -298
  80. data/lib/locales/en/currency.yml +358 -3
  81. data/lib/locales/en/dc_comics.yml +178 -49
  82. data/lib/locales/en/demographic.yml +215 -215
  83. data/lib/locales/en/departed.yml +40 -44
  84. data/lib/locales/en/dessert.yml +78 -3
  85. data/lib/locales/en/doraemon.yml +278 -280
  86. data/lib/locales/en/dr_who.yml +468 -93
  87. data/lib/locales/en/dragon_ball.yml +240 -240
  88. data/lib/locales/en/dumb_and_dumber.yml +72 -56
  89. data/lib/locales/en/elder_scrolls.yml +52 -53
  90. data/lib/locales/en/electrical_components.yml +49 -3
  91. data/lib/locales/en/esport.yml +58 -5
  92. data/lib/locales/en/family_guy.yml +54 -4
  93. data/lib/locales/en/file.yml +108 -9
  94. data/lib/locales/en/final_space.yml +1 -3
  95. data/lib/locales/en/finance.yml +1 -1
  96. data/lib/locales/en/food.yml +1 -1
  97. data/lib/locales/en/football.yml +112 -5
  98. data/lib/locales/en/fresh_prince_of_bel_air.yml +119 -70
  99. data/lib/locales/en/friends.yml +162 -3
  100. data/lib/locales/en/funny_name.yml +752 -1
  101. data/lib/locales/en/futurama.yml +7 -15
  102. data/lib/locales/en/game_of_thrones.yml +2487 -5
  103. data/lib/locales/en/gender.yml +15 -3
  104. data/lib/locales/en/ghostbusters.yml +101 -88
  105. data/lib/locales/en/grateful_dead.yml +47 -45
  106. data/lib/locales/en/greek_philosophers.yml +44 -23
  107. data/lib/locales/en/hacker.yml +110 -5
  108. data/lib/locales/en/hackers.yml +1 -1
  109. data/lib/locales/en/harry_potter.yml +323 -6
  110. data/lib/locales/en/hey_arnold.yml +104 -21
  111. data/lib/locales/en/hipster.yml +203 -1
  112. data/lib/locales/en/hitchhikers_guide_to_the_galaxy.yml +243 -42
  113. data/lib/locales/en/hobby.yml +0 -1
  114. data/lib/locales/en/horse.yml +446 -2
  115. data/lib/locales/en/house.yml +34 -2
  116. data/lib/locales/en/how_i_met_your_mother.yml +97 -25
  117. data/lib/locales/en/how_to_train_your_dragon.yml +0 -1
  118. data/lib/locales/en/id_number.yml +6 -1
  119. data/lib/locales/en/industry_segments.yml +188 -4
  120. data/lib/locales/en/job.yml +98 -7
  121. data/lib/locales/en/kamen_rider.yml +272 -6
  122. data/lib/locales/en/kpop.yml +954 -80
  123. data/lib/locales/en/lebowski.yml +58 -40
  124. data/lib/locales/en/lorem.yml +1095 -6
  125. data/lib/locales/en/markdown.yml +12 -2
  126. data/lib/locales/en/marketing.yml +54 -1
  127. data/lib/locales/en/measurement.yml +42 -8
  128. data/lib/locales/en/michael_scott.yml +41 -42
  129. data/lib/locales/en/movie.yml +188 -176
  130. data/lib/locales/en/name.yml +6068 -6
  131. data/lib/locales/en/nato_phonetic_alphabet.yml +27 -1
  132. data/lib/locales/en/new_girl.yml +35 -37
  133. data/lib/locales/en/one_piece.yml +359 -6
  134. data/lib/locales/en/opera.yml +1 -1
  135. data/lib/locales/en/overwatch.yml +1 -1
  136. data/lib/locales/en/parks_and_rec.yml +33 -4
  137. data/lib/locales/en/pearl_jam.yml +207 -207
  138. data/lib/locales/en/phish.yml +388 -389
  139. data/lib/locales/en/prince.yml +219 -219
  140. data/lib/locales/en/princess_bride.yml +48 -2
  141. data/lib/locales/en/programming_language.yml +753 -3
  142. data/lib/locales/en/quote.yml +599 -685
  143. data/lib/locales/en/rajnikanth.yml +74 -74
  144. data/lib/locales/en/relationship.yml +29 -6
  145. data/lib/locales/en/restaurant.yml +31 -31
  146. data/lib/locales/en/rick_and_morty.yml +116 -3
  147. data/lib/locales/en/rock_band.yml +228 -2
  148. data/lib/locales/en/rupaul.yml +120 -122
  149. data/lib/locales/en/seinfeld.yml +110 -3
  150. data/lib/locales/en/shakespeare.yml +46 -50
  151. data/lib/locales/en/silicon_valley.yml +122 -50
  152. data/lib/locales/en/simpsons.yml +897 -691
  153. data/lib/locales/en/slack_emoji.yml +874 -8
  154. data/lib/locales/en/space.yml +373 -14
  155. data/lib/locales/en/star_trek.yml +105 -4
  156. data/lib/locales/en/star_wars.yml +525 -528
  157. data/lib/locales/en/stargate.yml +65 -18
  158. data/lib/locales/en/stranger_thing.yml +31 -33
  159. data/lib/locales/en/street_fighter.yml +1 -1
  160. data/lib/locales/en/subscription.yml +47 -5
  161. data/lib/locales/en/superhero.yml +574 -4
  162. data/lib/locales/en/sword_art_online.yml +327 -331
  163. data/lib/locales/en/team.yml +125 -3
  164. data/lib/locales/en/the_expanse.yml +92 -4
  165. data/lib/locales/en/the_it_crowd.yml +148 -152
  166. data/lib/locales/en/the_office.yml +77 -81
  167. data/lib/locales/en/the_room.yml +35 -35
  168. data/lib/locales/en/the_thick_of_it.yml +83 -3
  169. data/lib/locales/en/theater.yml +593 -593
  170. data/lib/locales/en/tolkien.yml +2 -2
  171. data/lib/locales/en/touhou.yml +54 -54
  172. data/lib/locales/en/tron.yml +191 -191
  173. data/lib/locales/en/twin_peaks.yml +130 -3
  174. data/lib/locales/en/umphreys_mcgee.yml +266 -1
  175. data/lib/locales/en/university.yml +15 -2
  176. data/lib/locales/en/v_for_vendetta.yml +157 -160
  177. data/lib/locales/en/venture_bros.yml +225 -4
  178. data/lib/locales/en/verbs.yml +3785 -5
  179. data/lib/locales/en/volleyball.yml +493 -493
  180. data/lib/locales/en/warhammer_fantasy.yml +540 -573
  181. data/lib/locales/en/world_cup.yml +1132 -235
  182. data/lib/locales/en/yoda.yml +38 -1
  183. data/lib/locales/en-BORK.yml +104 -1
  184. data/lib/locales/en-GB.yml +9 -7
  185. data/lib/locales/en-NG.yml +737 -66
  186. data/lib/locales/en-PAK.yml +24 -1
  187. data/lib/locales/en-TH.yml +1 -1
  188. data/lib/locales/en-UG.yml +374 -76
  189. data/lib/locales/en-ZA.yml +1394 -13
  190. data/lib/locales/es-AR.yml +1 -1
  191. data/lib/locales/es-MX.yml +1907 -40
  192. data/lib/locales/es.yml +2117 -52
  193. data/lib/locales/fa.yml +1624 -5
  194. data/lib/locales/fi-FI.yml +315 -17
  195. data/lib/locales/fr/address.yml +761 -8
  196. data/lib/locales/fr/adjective.yml +261 -261
  197. data/lib/locales/fr/ancient.yml +134 -134
  198. data/lib/locales/fr/animal.yml +118 -1
  199. data/lib/locales/fr/appliance.yml +66 -1
  200. data/lib/locales/fr/book.yml +27 -3
  201. data/lib/locales/fr/color.yml +31 -1
  202. data/lib/locales/fr/company.yml +490 -10
  203. data/lib/locales/fr/compass.yml +58 -10
  204. data/lib/locales/fr/demographic.yml +3 -1
  205. data/lib/locales/fr/gender.yml +18 -3
  206. data/lib/locales/fr/internet.yml +12 -1
  207. data/lib/locales/fr/lorem.yml +1091 -2
  208. data/lib/locales/fr/measurement.yml +31 -4
  209. data/lib/locales/fr/name.yml +1176 -5
  210. data/lib/locales/fr/phone_number.yml +34 -3
  211. data/lib/locales/fr/pokemon.yml +417 -3
  212. data/lib/locales/fr-CA.yml +12 -6
  213. data/lib/locales/fr-CH.yml +2455 -41
  214. data/lib/locales/he.yml +255 -9
  215. data/lib/locales/hy.yml +12 -6
  216. data/lib/locales/it.yml +12 -6
  217. data/lib/locales/ja/address.yml +350 -120526
  218. data/lib/locales/ja/ancient.yml +15 -1
  219. data/lib/locales/ja/animal.yml +83 -1
  220. data/lib/locales/ja/artist.yml +46 -0
  221. data/lib/locales/ja/bank.yml +136 -1
  222. data/lib/locales/ja/book.yml +492 -3
  223. data/lib/locales/ja/cat.yml +75 -1
  224. data/lib/locales/ja/coffee.yml +19 -1
  225. data/lib/locales/ja/color.yml +32 -1
  226. data/lib/locales/ja/commerce.yml +98 -6
  227. data/lib/locales/ja/company.yml +20 -2
  228. data/lib/locales/ja/dog.yml +335 -2
  229. data/lib/locales/ja/emotion.yml +1 -3
  230. data/lib/locales/ja/food.yml +38 -1
  231. data/lib/locales/ja/gender.yml +3 -1
  232. data/lib/locales/ja/lorem.yml +1014 -3
  233. data/lib/locales/ja/name.yml +203 -3
  234. data/lib/locales/ja/overwatch.yml +33 -1
  235. data/lib/locales/ja/phone_number.yml +9 -3
  236. data/lib/locales/ja/pokemon.yml +437 -3
  237. data/lib/locales/ja/relationship.yml +29 -6
  238. data/lib/locales/ja/restaurant.yml +74 -3
  239. data/lib/locales/ja/space.yml +20 -2
  240. data/lib/locales/ja/subscription.yml +47 -5
  241. data/lib/locales/ja/super_mario.yml +68 -4
  242. data/lib/locales/ja/university.yml +15 -2
  243. data/lib/locales/ja/zelda.yml +15 -1
  244. data/lib/locales/ko.yml +1 -1
  245. data/lib/locales/lv.yml +1221 -26
  246. data/lib/locales/nl.yml +33514 -55
  247. data/lib/locales/pl.yml +4008 -37
  248. data/lib/locales/sk.yml +12 -6
  249. data/lib/locales/sv.yml +639 -49
  250. data/lib/locales/th.yml +375 -375
  251. data/lib/locales/tr.yml +77 -18
  252. data/lib/locales/uk.yml +7 -7
  253. data/lib/locales/vi.yml +392 -49
  254. data/lib/locales/zh-CN.yml +540 -19
  255. data/lib/locales/zh-TW.yml +1030 -15
  256. metadata +7 -9
  257. data/lib/faker/default/bossa_nova.rb +0 -33
  258. data/lib/faker/default/twitter.rb +0 -207
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faker
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.1
4
+ version: 3.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Benjamin Curtis
8
8
  - Vitor Oliveira
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2024-10-19 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: i18n
@@ -73,7 +72,6 @@ files:
73
72
  - lib/faker/default/beer.rb
74
73
  - lib/faker/default/blood.rb
75
74
  - lib/faker/default/boolean.rb
76
- - lib/faker/default/bossa_nova.rb
77
75
  - lib/faker/default/business.rb
78
76
  - lib/faker/default/camera.rb
79
77
  - lib/faker/default/cannabis.rb
@@ -154,13 +152,13 @@ files:
154
152
  - lib/faker/default/team.rb
155
153
  - lib/faker/default/theater.rb
156
154
  - lib/faker/default/time.rb
157
- - lib/faker/default/twitter.rb
158
155
  - lib/faker/default/types.rb
159
156
  - lib/faker/default/university.rb
160
157
  - lib/faker/default/vehicle.rb
161
158
  - lib/faker/default/verb.rb
162
159
  - lib/faker/default/vulnerability_identifier.rb
163
160
  - lib/faker/default/world_cup.rb
161
+ - lib/faker/default/x.rb
164
162
  - lib/faker/fantasy/tolkien.rb
165
163
  - lib/faker/games/clash_of_clans.rb
166
164
  - lib/faker/games/control.rb
@@ -216,6 +214,7 @@ files:
216
214
  - lib/faker/movies/the_room.rb
217
215
  - lib/faker/movies/tron.rb
218
216
  - lib/faker/movies/v_for_vendetta.rb
217
+ - lib/faker/music/bossa_nova.rb
219
218
  - lib/faker/music/grateful_dead.rb
220
219
  - lib/faker/music/hiphop.rb
221
220
  - lib/faker/music/music.rb
@@ -556,6 +555,7 @@ files:
556
555
  - lib/locales/ja/adjective.yml
557
556
  - lib/locales/ja/ancient.yml
558
557
  - lib/locales/ja/animal.yml
558
+ - lib/locales/ja/artist.yml
559
559
  - lib/locales/ja/bank.yml
560
560
  - lib/locales/ja/book.yml
561
561
  - lib/locales/ja/cat.yml
@@ -615,7 +615,6 @@ metadata:
615
615
  documentation_uri: https://rubydoc.info/github/faker-ruby/faker
616
616
  yard.run: yri
617
617
  rubygems_mfa_required: 'true'
618
- post_install_message:
619
618
  rdoc_options: []
620
619
  require_paths:
621
620
  - lib
@@ -623,15 +622,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
623
622
  requirements:
624
623
  - - ">="
625
624
  - !ruby/object:Gem::Version
626
- version: '3.0'
625
+ version: '3.1'
627
626
  required_rubygems_version: !ruby/object:Gem::Requirement
628
627
  requirements:
629
628
  - - ">="
630
629
  - !ruby/object:Gem::Version
631
630
  version: '0'
632
631
  requirements: []
633
- rubygems_version: 3.3.7
634
- signing_key:
632
+ rubygems_version: 4.0.6
635
633
  specification_version: 4
636
634
  summary: Easily generate fake data
637
635
  test_files: []
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Faker
4
- class BossaNova < Base
5
- class << self
6
- ##
7
- # Produces the name of a bossa nova artist.
8
- #
9
- # @return [String]
10
- #
11
- # @example
12
- # Faker::BossaNova.artist #=> "Tom Jobin"
13
- #
14
- # @faker.version 1.8.3
15
- def artist
16
- fetch('bossa_nova.artists')
17
- end
18
-
19
- ##
20
- # Produces a bossa nova song.
21
- #
22
- # @return [String]
23
- #
24
- # @example
25
- # Faker::BossaNova.song #=> "Chega de Saudade"
26
- #
27
- # @faker.version 1.8.3
28
- def song
29
- fetch('bossa_nova.songs')
30
- end
31
- end
32
- end
33
- end
@@ -1,207 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Faker
4
- class Twitter < Base
5
- class << self
6
- ##
7
- # Produces a random Twitter user.
8
- #
9
- # @param include_status [Boolean] Include or exclude user status details
10
- # @param include_email [Boolean] Include or exclude user email details
11
- # @return [Hash]
12
- #
13
- # @example
14
- # Faker::Twitter.user #=> {:id=>8821452687517076614, :name=>"Lincoln Paucek", :screen_name=>"cody"...
15
- # Faker::Twitter.user(include_status: false) # Just get a user object with no embed status
16
- # Faker::Twitter.user(include_email: true) # Simulate an authenticated user with the email permission
17
- #
18
- # @faker.version 1.7.3
19
- def user(include_status: true, include_email: false)
20
- user_id = id
21
- background_image_url = Faker::LoremFlickr.image(size: '600x400')
22
- profile_image_url = Faker::Avatar.image(slug: user_id, size: '48x48')
23
- user = {
24
- id: user_id,
25
- id_str: user_id.to_s,
26
- contributors_enabled: Faker::Boolean.boolean(true_ratio: 0.1),
27
- created_at: created_at,
28
- default_profile_image: Faker::Boolean.boolean(true_ratio: 0.1),
29
- default_profile: Faker::Boolean.boolean(true_ratio: 0.1),
30
- description: Faker::Lorem.sentence,
31
- entities: user_entities,
32
- favourites_count: Faker::Number.between(to: 1, from: 100_000),
33
- follow_request_sent: false,
34
- followers_count: Faker::Number.between(to: 1, from: 10_000_000),
35
- following: false,
36
- friends_count: Faker::Number.between(to: 1, from: 100_000),
37
- geo_enabled: Faker::Boolean.boolean(true_ratio: 0.1),
38
- is_translation_enabled: Faker::Boolean.boolean(true_ratio: 0.1),
39
- is_translator: Faker::Boolean.boolean(true_ratio: 0.1),
40
- lang: Faker::Address.country_code,
41
- listed_count: Faker::Number.between(to: 1, from: 1000),
42
- location: "#{Faker::Address.city}, #{Faker::Address.state_abbr}, #{Faker::Address.country_code}",
43
- name: Faker::Name.name,
44
- notifications: false,
45
- profile_background_color: Faker::Color.hex_color,
46
- profile_background_image_url_https: background_image_url,
47
- profile_background_image_url: background_image_url.sub('https://', 'http://'),
48
- profile_background_tile: Faker::Boolean.boolean(true_ratio: 0.1),
49
- profile_banner_url: Faker::LoremFlickr.image(size: '1500x500'),
50
- profile_image_url_https: profile_image_url,
51
- profile_image_url: profile_image_url.sub('https://', 'http://'),
52
- profile_link_color: Faker::Color.hex_color,
53
- profile_sidebar_border_color: Faker::Color.hex_color,
54
- profile_sidebar_fill_color: Faker::Color.hex_color,
55
- profile_text_color: Faker::Color.hex_color,
56
- profile_use_background_image: Faker::Boolean.boolean(true_ratio: 0.4),
57
- protected: Faker::Boolean.boolean(true_ratio: 0.1),
58
- screen_name: screen_name,
59
- statuses_count: Faker::Number.between(to: 1, from: 100_000),
60
- time_zone: Faker::Address.time_zone,
61
- url: Faker::Internet.url(host: 'example.com'),
62
- utc_offset: utc_offset,
63
- verified: Faker::Boolean.boolean(true_ratio: 0.1)
64
- }
65
- user[:status] = Faker::Twitter.status(include_user: false) if include_status
66
- user[:email] = Faker::Internet.email if include_email
67
- user
68
- end
69
-
70
- ##
71
- # Produces a random Twitter user.
72
- #
73
- # @param include_user [Boolean] Include or exclude user details
74
- # @param include_photo [Boolean] Include or exclude user photo
75
- # @return [Hash]
76
- #
77
- # @example
78
- # Faker::Twitter.status #=> {:id=>8821452687517076614, :text=>"Ea et laboriosam vel non."...
79
- # Faker::Twitter.status(include_user: false) # Just get a status object with no embed user
80
- # Faker::Twitter.status(include_photo: true) # Includes entities for an attached image
81
- #
82
- # @faker.version 1.7.3
83
- def status(include_user: true, include_photo: false)
84
- status_id = id
85
- status = {
86
- id: status_id,
87
- id_str: status_id.to_s,
88
- contributors: nil,
89
- coordinates: nil,
90
- created_at: created_at,
91
- entities: status_entities(include_photo: include_photo),
92
- favorite_count: Faker::Number.between(to: 1, from: 10_000),
93
- favorited: false,
94
- geo: nil,
95
- in_reply_to_screen_name: nil,
96
- in_reply_to_status_id: nil,
97
- in_reply_to_user_id_str: nil,
98
- in_reply_to_user_id: nil,
99
- is_quote_status: false,
100
- lang: Faker::Address.country_code,
101
- nil: nil,
102
- place: nil,
103
- possibly_sensitive: Faker::Boolean.boolean(true_ratio: 0.1),
104
- retweet_count: Faker::Number.between(to: 1, from: 10_000),
105
- retweeted_status: nil,
106
- retweeted: false,
107
- source: "<a href=\"#{Faker::Internet.url(host: 'example.com')}\" rel=\"nofollow\">#{Faker::Company.name}</a>",
108
- text: Faker::Lorem.sentence,
109
- truncated: false
110
- }
111
- status[:user] = Faker::Twitter.user(include_status: false) if include_user
112
- status[:text] = "#{status[:text]} #{status[:entities][:media].first[:url]}" if include_photo
113
- status
114
- end
115
-
116
- ##
117
- # Produces a random screen name.
118
- #
119
- # @return [String]
120
- #
121
- # @example
122
- # Faker::Twitter.screen_name #=> "audreanne_hackett"
123
- #
124
- # @faker.version 1.7.3
125
- def screen_name
126
- Faker::Internet.username(specifier: nil, separators: ['_'])[0...20]
127
- end
128
-
129
- private
130
-
131
- def id
132
- Faker::Number.between(from: 1, to: 9_223_372_036_854_775_807)
133
- end
134
-
135
- def created_at
136
- Faker::Date.between(from: '2006-03-21', to: ::Date.today).strftime('%a %b %d %H:%M:%S %z %Y')
137
- end
138
-
139
- def utc_offset
140
- Faker::Number.between(to: -43_200, from: 50_400)
141
- end
142
-
143
- def user_entities
144
- {
145
- url: {
146
- urls: []
147
- },
148
- description: {
149
- urls: []
150
- }
151
- }
152
- end
153
-
154
- def status_entities(include_photo: false)
155
- entities = {
156
- hashtags: [],
157
- symbols: [],
158
- user_mentions: [],
159
- urls: []
160
- }
161
- entities[:media] = [photo_entity] if include_photo
162
- entities
163
- end
164
-
165
- def photo_entity
166
- media_url = Faker::LoremFlickr.image(size: '1064x600')
167
- media_id = id
168
- {
169
- id: media_id,
170
- id_str: media_id.to_s,
171
- indices: [
172
- 103,
173
- 126
174
- ],
175
- media_url: media_url.sub('https://', 'http://'),
176
- media_url_https: media_url,
177
- url: Faker::Internet.url(host: 'example.com'),
178
- display_url: 'example.com',
179
- expanded_url: Faker::Internet.url(host: 'example.com'),
180
- type: 'photo',
181
- sizes: {
182
- medium: {
183
- w: 1064,
184
- h: 600,
185
- resize: 'fit'
186
- },
187
- large: {
188
- w: 1064,
189
- h: 600,
190
- resize: 'fit'
191
- },
192
- small: {
193
- w: 680,
194
- h: 383,
195
- resize: 'fit'
196
- },
197
- thumb: {
198
- w: 150,
199
- h: 150,
200
- resize: 'crop'
201
- }
202
- }
203
- }
204
- end
205
- end
206
- end
207
- end