faker 2.1.2 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +171 -7
- data/README.md +4 -4
- data/lib/faker.rb +56 -1
- data/lib/faker/blockchain/aeternity.rb +70 -0
- data/lib/faker/blockchain/bitcoin.rb +26 -0
- data/lib/faker/blockchain/ethereum.rb +10 -0
- data/lib/faker/blockchain/tezos.rb +62 -6
- data/lib/faker/books/book.rb +36 -0
- data/lib/faker/books/culture_series.rb +49 -0
- data/lib/faker/books/dune.rb +66 -5
- data/lib/faker/books/lovecraft.rb +210 -7
- data/lib/faker/creature/animal.rb +9 -0
- data/lib/faker/creature/cat.rb +27 -0
- data/lib/faker/creature/dog.rb +72 -0
- data/lib/faker/creature/horse.rb +18 -0
- data/lib/faker/default/address.rb +25 -5
- data/lib/faker/default/alphanumeric.rb +56 -7
- data/lib/faker/default/app.rb +55 -1
- data/lib/faker/default/appliance.rb +18 -0
- data/lib/faker/default/artist.rb +9 -0
- data/lib/faker/default/avatar.rb +43 -1
- data/lib/faker/default/bank.rb +10 -2
- data/lib/faker/default/boolean.rb +16 -1
- data/lib/faker/default/chile_rut.rb +12 -2
- data/lib/faker/default/chuck_norris.rb +1 -1
- data/lib/faker/default/code.rb +16 -3
- data/lib/faker/default/commerce.rb +17 -3
- data/lib/faker/default/company.rb +10 -2
- data/lib/faker/default/crypto_coin.rb +15 -3
- data/lib/faker/default/date.rb +118 -5
- data/lib/faker/default/demographic.rb +5 -1
- data/lib/faker/default/dessert.rb +27 -0
- data/lib/faker/default/device.rb +54 -0
- data/lib/faker/default/driving_licence.rb +12 -6
- data/lib/faker/default/electrical_components.rb +27 -0
- data/lib/faker/default/file.rb +19 -2
- data/lib/faker/default/fillmurray.rb +9 -1
- data/lib/faker/default/finance.rb +5 -1
- data/lib/faker/default/gender.rb +18 -0
- data/lib/faker/default/greek_philosophers.rb +18 -0
- data/lib/faker/default/hacker.rb +59 -1
- data/lib/faker/default/hipster.rb +45 -6
- data/lib/faker/default/house.rb +18 -0
- data/lib/faker/default/id_number.rb +11 -3
- data/lib/faker/default/industry_segments.rb +36 -0
- data/lib/faker/default/internet.rb +97 -13
- data/lib/faker/default/invoice.rb +16 -3
- data/lib/faker/default/json.rb +19 -2
- data/lib/faker/default/lorem.rb +81 -10
- data/lib/faker/default/lorem_flickr.rb +38 -5
- data/lib/faker/default/lorem_pixel.rb +10 -1
- data/lib/faker/default/markdown.rb +6 -1
- data/lib/faker/default/marketing.rb +9 -0
- data/lib/faker/default/measurement.rb +40 -8
- data/lib/faker/default/military.rb +45 -0
- data/lib/faker/default/name.rb +5 -1
- data/lib/faker/default/nation.rb +48 -5
- data/lib/faker/default/nato_phonetic_alphabet.rb +9 -0
- data/lib/faker/default/nhs.rb +5 -1
- data/lib/faker/default/number.rb +180 -11
- data/lib/faker/default/omniauth.rb +92 -9
- data/lib/faker/default/phone_number.rb +5 -1
- data/lib/faker/default/placeholdit.rb +11 -1
- data/lib/faker/default/programming_language.rb +18 -0
- data/lib/faker/default/relationship.rb +5 -1
- data/lib/faker/default/restaurant.rb +54 -2
- data/lib/faker/default/science.rb +27 -0
- data/lib/faker/default/source.rb +59 -3
- data/lib/faker/default/string.rb +5 -1
- data/lib/faker/default/stripe.rb +20 -4
- data/lib/faker/default/subscription.rb +45 -0
- data/lib/faker/default/superhero.rb +45 -0
- data/lib/faker/default/time.rb +114 -4
- data/lib/faker/default/twitter.rb +32 -18
- data/lib/faker/default/types.rb +27 -5
- data/lib/faker/default/vehicle.rb +17 -4
- data/lib/faker/default/world_cup.rb +61 -2
- data/lib/faker/games/dota.rb +52 -1
- data/lib/faker/games/elder_scrolls.rb +72 -0
- data/lib/faker/games/fallout.rb +37 -0
- data/lib/faker/games/game.rb +27 -0
- data/lib/faker/games/half_life.rb +27 -0
- data/lib/faker/games/heroes.rb +27 -0
- data/lib/faker/games/heroes_of_the_storm.rb +36 -0
- data/lib/faker/games/league_of_legends.rb +54 -0
- data/lib/faker/games/myst.rb +45 -0
- data/lib/faker/games/overwatch.rb +27 -0
- data/lib/faker/games/pokemon.rb +27 -0
- data/lib/faker/games/sonic_the_hedgehog.rb +27 -0
- data/lib/faker/games/super_smash_bros.rb +18 -0
- data/lib/faker/games/witcher.rb +54 -0
- data/lib/faker/games/world_of_warcraft.rb +18 -0
- data/lib/faker/games/zelda.rb +37 -1
- data/lib/faker/japanese_media/dragon_ball.rb +9 -0
- data/lib/faker/japanese_media/one_piece.rb +54 -0
- data/lib/faker/japanese_media/sword_art_online.rb +36 -0
- data/lib/faker/movies/back_to_the_future.rb +28 -0
- data/lib/faker/movies/ghostbusters.rb +28 -0
- data/lib/faker/movies/harry_potter.rb +54 -0
- data/lib/faker/movies/hitchhikers_guide_to_the_galaxy.rb +69 -0
- data/lib/faker/movies/hobbit.rb +37 -0
- data/lib/faker/movies/lebowski.rb +27 -0
- data/lib/faker/movies/lord_of_the_rings.rb +28 -0
- data/lib/faker/movies/movie.rb +9 -0
- data/lib/faker/movies/princess_bride.rb +19 -0
- data/lib/faker/movies/star_wars.rb +100 -4
- data/lib/faker/movies/v_for_vendetta.rb +29 -0
- data/lib/faker/music/grateful_dead.rb +18 -0
- data/lib/faker/music/phish.rb +9 -0
- data/lib/faker/music/rock_band.rb +9 -0
- data/lib/faker/music/umphreys_mcgee.rb +9 -0
- data/lib/faker/sports/basketball.rb +36 -0
- data/lib/faker/sports/football.rb +45 -0
- data/lib/faker/tv_shows/aqua_teen_hunger_force.rb +9 -0
- data/lib/faker/tv_shows/bojack_horseman.rb +28 -0
- data/lib/faker/tv_shows/breaking_bad.rb +18 -0
- data/lib/faker/tv_shows/buffy.rb +45 -0
- data/lib/faker/tv_shows/community.rb +19 -0
- data/lib/faker/tv_shows/dr_who.rb +78 -2
- data/lib/faker/tv_shows/dumb_and_dumber.rb +28 -0
- data/lib/faker/tv_shows/family_guy.rb +28 -0
- data/lib/faker/tv_shows/friends.rb +27 -0
- data/lib/faker/tv_shows/game_of_thrones.rb +46 -0
- data/lib/faker/tv_shows/hey_arnold.rb +27 -0
- data/lib/faker/tv_shows/how_i_met_your_mother.rb +37 -0
- data/lib/faker/tv_shows/michael_scott.rb +13 -0
- data/lib/faker/tv_shows/new_girl.rb +19 -0
- data/lib/faker/tv_shows/parks_and_rec.rb +18 -0
- data/lib/faker/tv_shows/rick_and_morty.rb +28 -0
- data/lib/faker/tv_shows/ru_paul.rb +18 -0
- data/lib/faker/tv_shows/seinfeld.rb +28 -0
- data/lib/faker/tv_shows/silicon_valley.rb +75 -0
- data/lib/faker/tv_shows/simpsons.rb +28 -0
- data/lib/faker/tv_shows/south_park.rb +19 -0
- data/lib/faker/tv_shows/star_trek.rb +36 -0
- data/lib/faker/tv_shows/stargate.rb +28 -0
- data/lib/faker/tv_shows/stranger_things.rb +19 -0
- data/lib/faker/tv_shows/the_expanse.rb +36 -0
- data/lib/faker/tv_shows/the_fresh_prince_of_bel_air.rb +28 -0
- data/lib/faker/tv_shows/the_it_crowd.rb +37 -0
- data/lib/faker/tv_shows/the_thick_of_it.rb +28 -0
- data/lib/faker/tv_shows/twin_peaks.rb +28 -0
- data/lib/faker/tv_shows/venture_bros.rb +38 -0
- data/lib/faker/version.rb +1 -1
- data/lib/locales/en-CA.yml +1 -1
- data/lib/locales/en-TH.yml +360 -0
- data/lib/locales/en/color.yml +1 -1
- data/lib/locales/en/dr_who.yml +1 -1
- data/lib/locales/en/science.yml +1 -1
- data/lib/locales/ja.yml +8 -9
- data/lib/locales/th.yml +380 -0
- metadata +39 -14
|
@@ -2,22 +2,67 @@
|
|
|
2
2
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Subscription < Base
|
|
5
|
+
##
|
|
6
|
+
# Produces the name of a subscription plan.
|
|
7
|
+
#
|
|
8
|
+
# @return [String]
|
|
9
|
+
#
|
|
10
|
+
# @example
|
|
11
|
+
# Faker::Subscription.plan #=> "Platinum"
|
|
12
|
+
#
|
|
13
|
+
# @faker.version 1.9.2
|
|
5
14
|
def self.plan
|
|
6
15
|
fetch('subscription.plans')
|
|
7
16
|
end
|
|
8
17
|
|
|
18
|
+
##
|
|
19
|
+
# Produces a subscription status.
|
|
20
|
+
#
|
|
21
|
+
# @return [String]
|
|
22
|
+
#
|
|
23
|
+
# @example
|
|
24
|
+
# Faker::Subscription.status #=> "Active"
|
|
25
|
+
#
|
|
26
|
+
# @faker.version 1.9.2
|
|
9
27
|
def self.status
|
|
10
28
|
fetch('subscription.statuses')
|
|
11
29
|
end
|
|
12
30
|
|
|
31
|
+
##
|
|
32
|
+
# Produces the name of a payment method.
|
|
33
|
+
#
|
|
34
|
+
# @return [String]
|
|
35
|
+
#
|
|
36
|
+
# @example
|
|
37
|
+
# Faker::Subscription.payment_method #=> "PayPal"
|
|
38
|
+
#
|
|
39
|
+
# @faker.version 1.9.2
|
|
13
40
|
def self.payment_method
|
|
14
41
|
fetch('subscription.payment_methods')
|
|
15
42
|
end
|
|
16
43
|
|
|
44
|
+
##
|
|
45
|
+
# Produces the name of a subscription term.
|
|
46
|
+
#
|
|
47
|
+
# @return [String]
|
|
48
|
+
#
|
|
49
|
+
# @example
|
|
50
|
+
# Faker::Subscription.subscription_term #=> "Annual"
|
|
51
|
+
#
|
|
52
|
+
# @faker.version 1.9.2
|
|
17
53
|
def self.subscription_term
|
|
18
54
|
fetch('subscription.subscription_terms')
|
|
19
55
|
end
|
|
20
56
|
|
|
57
|
+
##
|
|
58
|
+
# Produces the name of a payment term.
|
|
59
|
+
#
|
|
60
|
+
# @return [String]
|
|
61
|
+
#
|
|
62
|
+
# @example
|
|
63
|
+
# Faker::Subscription.payment_term #=> "Monthly"
|
|
64
|
+
#
|
|
65
|
+
# @faker.version 1.9.2
|
|
21
66
|
def self.payment_term
|
|
22
67
|
fetch('subscription.payment_terms')
|
|
23
68
|
end
|
|
@@ -3,22 +3,67 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Superhero < Base
|
|
5
5
|
class << self
|
|
6
|
+
##
|
|
7
|
+
# Produces a superpower.
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
#
|
|
11
|
+
# @example
|
|
12
|
+
# Faker::Superhero.power #=> "Photokinesis"
|
|
13
|
+
#
|
|
14
|
+
# @faker.version 1.6.2
|
|
6
15
|
def power
|
|
7
16
|
fetch('superhero.power')
|
|
8
17
|
end
|
|
9
18
|
|
|
19
|
+
##
|
|
20
|
+
# Produces a superhero name prefix.
|
|
21
|
+
#
|
|
22
|
+
# @return [String]
|
|
23
|
+
#
|
|
24
|
+
# @example
|
|
25
|
+
# Faker::Superhero.prefix #=> "the Fated"
|
|
26
|
+
#
|
|
27
|
+
# @faker.version 1.6.2
|
|
10
28
|
def prefix
|
|
11
29
|
fetch('superhero.prefix')
|
|
12
30
|
end
|
|
13
31
|
|
|
32
|
+
##
|
|
33
|
+
# Produces a superhero name suffix.
|
|
34
|
+
#
|
|
35
|
+
# @return [String]
|
|
36
|
+
#
|
|
37
|
+
# @example
|
|
38
|
+
# Faker::Superhero.suffix #=> "Captain"
|
|
39
|
+
#
|
|
40
|
+
# @faker.version 1.6.2
|
|
14
41
|
def suffix
|
|
15
42
|
fetch('superhero.suffix')
|
|
16
43
|
end
|
|
17
44
|
|
|
45
|
+
##
|
|
46
|
+
# Produces a superhero descriptor.
|
|
47
|
+
#
|
|
48
|
+
# @return [String]
|
|
49
|
+
#
|
|
50
|
+
# @example
|
|
51
|
+
# Faker::Superhero.descriptor #=> "Bizarro"
|
|
52
|
+
#
|
|
53
|
+
# @faker.version 1.6.2
|
|
18
54
|
def descriptor
|
|
19
55
|
fetch('superhero.descriptor')
|
|
20
56
|
end
|
|
21
57
|
|
|
58
|
+
##
|
|
59
|
+
# Produces a random superhero name.
|
|
60
|
+
#
|
|
61
|
+
# @return [String]
|
|
62
|
+
#
|
|
63
|
+
# @example
|
|
64
|
+
# Faker::Superhero.name #=> "Magnificent Shatterstar"
|
|
65
|
+
#
|
|
66
|
+
# @faker.version 1.6.2
|
|
22
67
|
def name
|
|
23
68
|
parse('superhero.name')
|
|
24
69
|
end
|
data/lib/faker/default/time.rb
CHANGED
|
@@ -13,27 +13,137 @@ module Faker
|
|
|
13
13
|
}.freeze
|
|
14
14
|
|
|
15
15
|
class << self
|
|
16
|
-
|
|
16
|
+
# rubocop:disable Metrics/ParameterLists
|
|
17
|
+
# rubocop:disable Style/AsciiComments
|
|
18
|
+
|
|
19
|
+
##
|
|
20
|
+
# Produce a random time between two times.
|
|
21
|
+
#
|
|
22
|
+
# @param from [Time, Date, DateTime] The start of the usable time range.
|
|
23
|
+
# @param to [Time, Date, DateTime] The end of the usable time range.
|
|
24
|
+
# @param format [Symbol] The name of a DateTime format to use.
|
|
25
|
+
# @return [Time]
|
|
26
|
+
#
|
|
27
|
+
# @example
|
|
28
|
+
# # Random Stringified time between two times, formatted to the specified I18n format
|
|
29
|
+
# # (Examples are from a Rails console with rails-i18n 5.1.1 defaults loaded)
|
|
30
|
+
# I18n.locale = 'en-US'
|
|
31
|
+
# Faker::Time.between(from: DateTime.now - 1, to: DateTime.now, format: :default) #=> "Tue, 16 Oct 2018 10:48:27 AM -05:00"
|
|
32
|
+
# Faker::Time.between(from: DateTime.now - 1, to: DateTime.now, format: :short) #=> "15 Oct 10:48 AM"
|
|
33
|
+
# Faker::Time.between(from: DateTime.now - 1, to: DateTime.now, format: :long) #=> "October 15, 2018 10:48 AM"
|
|
34
|
+
#
|
|
35
|
+
# I18n.locale = 'ja'
|
|
36
|
+
# Faker::Time.between(from: DateTime.now - 1, to: DateTime.now, format: :default) #=> "2018/10/15 10:48:27"
|
|
37
|
+
# Faker::Time.between(from: DateTime.now - 1, to: DateTime.now, format: :short) #=> "18/10/15 10:48"
|
|
38
|
+
# Faker::Time.between(from: DateTime.now - 1, to: DateTime.now, format: :long) #=> "2018年10月16日(火) 10時48分27秒 -0500"
|
|
39
|
+
#
|
|
40
|
+
# @faker.version 1.5.0
|
|
41
|
+
def between(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, legacy_format = NOT_GIVEN, from:, to:, format: nil)
|
|
42
|
+
warn_for_deprecated_arguments do |keywords|
|
|
43
|
+
keywords << :from if legacy_from != NOT_GIVEN
|
|
44
|
+
keywords << :to if legacy_to != NOT_GIVEN
|
|
45
|
+
keywords << :format if legacy_format != NOT_GIVEN
|
|
46
|
+
end
|
|
47
|
+
|
|
17
48
|
from = get_time_object(from)
|
|
18
49
|
to = get_time_object(to)
|
|
19
50
|
|
|
20
51
|
time = Faker::Base.rand_in_range(from, to)
|
|
21
52
|
time_with_format(time, format)
|
|
22
53
|
end
|
|
54
|
+
# rubocop:enable Style/AsciiComments
|
|
55
|
+
|
|
56
|
+
##
|
|
57
|
+
# Produce a random time between two dates.
|
|
58
|
+
#
|
|
59
|
+
# @param from [Date] The start of the usable time range.
|
|
60
|
+
# @param to [Date] The end of the usable time range.
|
|
61
|
+
# @param period [Symbol] The time of day, if any. See {TIME_RANGES}.
|
|
62
|
+
# @param format [Symbol] The name of a DateTime format to use.
|
|
63
|
+
# @return [Time]
|
|
64
|
+
#
|
|
65
|
+
# @example
|
|
66
|
+
# Faker::Time.between_dates(from: Date.today - 1, to: Date.today, period: :all)
|
|
67
|
+
# #=> "2014-09-19 07:03:30 -0700"
|
|
68
|
+
# Faker::Time.between_dates(from: Date.today - 1, to: Date.today, period: :day)
|
|
69
|
+
# #=> "2014-09-18 16:28:13 -0700"
|
|
70
|
+
# Faker::Time.between_dates(from: Date.today - 1, to: Date.today, period: :night)
|
|
71
|
+
# #=> "2014-09-20 19:39:38 -0700"
|
|
72
|
+
# Faker::Time.between_dates(from: Date.today - 1, to: Date.today, period: :morning)
|
|
73
|
+
# #=> "2014-09-19 08:07:52 -0700"
|
|
74
|
+
# Faker::Time.between_dates(from: Date.today - 1, to: Date.today, period: :afternoon)
|
|
75
|
+
# #=> "2014-09-18 12:10:34 -0700"
|
|
76
|
+
# Faker::Time.between_dates(from: Date.today - 1, to: Date.today, period: :evening)
|
|
77
|
+
# #=> "2014-09-19 20:21:03 -0700"
|
|
78
|
+
# Faker::Time.between_dates(from: Date.today - 1, to: Date.today, period: :midnight)
|
|
79
|
+
# #=> "2014-09-20 00:40:14 -0700"
|
|
80
|
+
# Faker::Time.between_dates(from: Date.today - 5, to: Date.today + 5, period: :afternoon, format: :default)
|
|
81
|
+
# #=> "Fri, 19 Oct 2018 15:17:46 -0500"
|
|
82
|
+
#
|
|
83
|
+
# @faker.version 1.0.0
|
|
84
|
+
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)
|
|
85
|
+
warn_for_deprecated_arguments do |keywords|
|
|
86
|
+
keywords << :from if legacy_from != NOT_GIVEN
|
|
87
|
+
keywords << :to if legacy_to != NOT_GIVEN
|
|
88
|
+
keywords << :period if legacy_period != NOT_GIVEN
|
|
89
|
+
keywords << :format if legacy_format != NOT_GIVEN
|
|
90
|
+
end
|
|
23
91
|
|
|
24
|
-
def between_dates(from:, to:, period: :all, format: nil)
|
|
25
92
|
date = Faker::Date.between(from: from, to: to)
|
|
26
93
|
time = date_with_random_time(date, period)
|
|
27
94
|
time_with_format(time, format)
|
|
28
95
|
end
|
|
29
96
|
|
|
30
|
-
|
|
97
|
+
##
|
|
98
|
+
# Produce a random time in the future (up to N days).
|
|
99
|
+
#
|
|
100
|
+
# @param days [Integer] The maximum number of days to go into the future.
|
|
101
|
+
# @param period [Symbol] The time of day, if any. See {TIME_RANGES}.
|
|
102
|
+
# @param format [Symbol] The name of a DateTime format to use.
|
|
103
|
+
# @return [Time]
|
|
104
|
+
#
|
|
105
|
+
# @example
|
|
106
|
+
# Faker::Time.forward(days: 23, period: :morning)
|
|
107
|
+
# # => "2014-09-26 06:54:47 -0700"
|
|
108
|
+
# Faker::Time.forward(days: 5, period: :evening, format: :long)
|
|
109
|
+
# #=> "October 21, 2018 20:47"
|
|
110
|
+
#
|
|
111
|
+
# @faker.version 1.5.0
|
|
112
|
+
def forward(legacy_days = NOT_GIVEN, legacy_period = NOT_GIVEN, legacy_format = NOT_GIVEN, days: 365, period: :all, format: nil)
|
|
113
|
+
warn_for_deprecated_arguments do |keywords|
|
|
114
|
+
keywords << :days if legacy_days != NOT_GIVEN
|
|
115
|
+
keywords << :period if legacy_period != NOT_GIVEN
|
|
116
|
+
keywords << :format if legacy_format != NOT_GIVEN
|
|
117
|
+
end
|
|
118
|
+
|
|
31
119
|
time_with_format(date_with_random_time(Faker::Date.forward(days: days), period), format)
|
|
32
120
|
end
|
|
33
121
|
|
|
34
|
-
|
|
122
|
+
##
|
|
123
|
+
# Produce a random time in the past (up to N days).
|
|
124
|
+
#
|
|
125
|
+
# @param days [Integer] The maximum number of days to go into the past.
|
|
126
|
+
# @param period [Symbol] The time of day, if any. See {TIME_RANGES}.
|
|
127
|
+
# @param format [Symbol] The name of a DateTime format to use.
|
|
128
|
+
# @return [Time]
|
|
129
|
+
#
|
|
130
|
+
# @example
|
|
131
|
+
# Faker::Time.backward(days: 14, period: :evening)
|
|
132
|
+
# #=> "2014-09-17 19:56:33 -0700"
|
|
133
|
+
# Faker::Time.backward(days: 5, period: :morning, format: :short)
|
|
134
|
+
# #=> "14 Oct 07:44"
|
|
135
|
+
#
|
|
136
|
+
# @faker.version 1.5.0
|
|
137
|
+
def backward(legacy_days = NOT_GIVEN, legacy_period = NOT_GIVEN, legacy_format = NOT_GIVEN, days: 365, period: :all, format: nil)
|
|
138
|
+
warn_for_deprecated_arguments do |keywords|
|
|
139
|
+
keywords << :days if legacy_days != NOT_GIVEN
|
|
140
|
+
keywords << :period if legacy_period != NOT_GIVEN
|
|
141
|
+
keywords << :format if legacy_format != NOT_GIVEN
|
|
142
|
+
end
|
|
143
|
+
|
|
35
144
|
time_with_format(date_with_random_time(Faker::Date.backward(days: days), period), format)
|
|
36
145
|
end
|
|
146
|
+
# rubocop:enable Metrics/ParameterLists
|
|
37
147
|
|
|
38
148
|
private
|
|
39
149
|
|
|
@@ -3,7 +3,12 @@
|
|
|
3
3
|
module Faker
|
|
4
4
|
class Twitter < Base
|
|
5
5
|
class << self
|
|
6
|
-
def user(include_status: true, include_email: false)
|
|
6
|
+
def user(legacy_include_status = NOT_GIVEN, legacy_include_email = NOT_GIVEN, include_status: true, include_email: false)
|
|
7
|
+
warn_for_deprecated_arguments do |keywords|
|
|
8
|
+
keywords << :include_status if legacy_include_status != NOT_GIVEN
|
|
9
|
+
keywords << :include_email if legacy_include_email != NOT_GIVEN
|
|
10
|
+
end
|
|
11
|
+
|
|
7
12
|
user_id = id
|
|
8
13
|
background_image_url = Faker::LoremPixel.image(size: '600x400') # TODO: Make the dimensions change
|
|
9
14
|
profile_image_url = Faker::Avatar.image(slug: user_id, size: '48x48')
|
|
@@ -15,7 +20,7 @@ module Faker
|
|
|
15
20
|
default_profile_image: Faker::Boolean.boolean(true_ratio: 0.1),
|
|
16
21
|
default_profile: Faker::Boolean.boolean(true_ratio: 0.1),
|
|
17
22
|
description: Faker::Lorem.sentence,
|
|
18
|
-
entities:
|
|
23
|
+
entities: user_entities,
|
|
19
24
|
favourites_count: Faker::Number.between(to: 1, from: 100_000),
|
|
20
25
|
follow_request_sent: false,
|
|
21
26
|
followers_count: Faker::Number.between(to: 1, from: 10_000_000),
|
|
@@ -54,7 +59,12 @@ module Faker
|
|
|
54
59
|
user
|
|
55
60
|
end
|
|
56
61
|
|
|
57
|
-
def status(include_user: true, include_photo: false)
|
|
62
|
+
def status(legacy_include_user = NOT_GIVEN, legacy_include_photo = NOT_GIVEN, include_user: true, include_photo: false)
|
|
63
|
+
warn_for_deprecated_arguments do |keywords|
|
|
64
|
+
keywords << :include_user if legacy_include_user != NOT_GIVEN
|
|
65
|
+
keywords << :include_photo if legacy_include_photo != NOT_GIVEN
|
|
66
|
+
end
|
|
67
|
+
|
|
58
68
|
status_id = id
|
|
59
69
|
status = {
|
|
60
70
|
id: status_id,
|
|
@@ -62,7 +72,7 @@ module Faker
|
|
|
62
72
|
contributors: nil,
|
|
63
73
|
coordinates: nil,
|
|
64
74
|
created_at: created_at,
|
|
65
|
-
entities:
|
|
75
|
+
entities: status_entities(include_photo: include_photo),
|
|
66
76
|
favorite_count: Faker::Number.between(to: 1, from: 10_000),
|
|
67
77
|
favorited: false,
|
|
68
78
|
geo: nil,
|
|
@@ -76,7 +86,7 @@ module Faker
|
|
|
76
86
|
place: nil,
|
|
77
87
|
possibly_sensitive: Faker::Boolean.boolean(true_ratio: 0.1),
|
|
78
88
|
retweet_count: Faker::Number.between(to: 1, from: 10_000),
|
|
79
|
-
retweeted_status:
|
|
89
|
+
retweeted_status: nil,
|
|
80
90
|
retweeted: false,
|
|
81
91
|
source: "<a href=\"#{Faker::Internet.url(host: 'example.com')}\" rel=\"nofollow\">#{Faker::Company.name}</a>",
|
|
82
92
|
text: Faker::Lorem.sentence,
|
|
@@ -107,21 +117,25 @@ module Faker
|
|
|
107
117
|
|
|
108
118
|
def user_entities
|
|
109
119
|
{
|
|
110
|
-
url:
|
|
120
|
+
url: {
|
|
111
121
|
urls: []
|
|
112
122
|
},
|
|
113
|
-
description:
|
|
123
|
+
description: {
|
|
114
124
|
urls: []
|
|
115
125
|
}
|
|
116
126
|
}
|
|
117
127
|
end
|
|
118
128
|
|
|
119
|
-
def status_entities(include_photo: false)
|
|
129
|
+
def status_entities(legacy_include_photo = NOT_GIVEN, include_photo: false)
|
|
130
|
+
warn_for_deprecated_arguments do |keywords|
|
|
131
|
+
keywords << :include_photo if legacy_include_photo != NOT_GIVEN
|
|
132
|
+
end
|
|
133
|
+
|
|
120
134
|
entities = {
|
|
121
|
-
hashtags:
|
|
122
|
-
symbols:
|
|
123
|
-
user_mentions:
|
|
124
|
-
urls:
|
|
135
|
+
hashtags: [],
|
|
136
|
+
symbols: [],
|
|
137
|
+
user_mentions: [],
|
|
138
|
+
urls: []
|
|
125
139
|
}
|
|
126
140
|
entities[:media] = [photo_entity] if include_photo
|
|
127
141
|
entities
|
|
@@ -135,7 +149,7 @@ module Faker
|
|
|
135
149
|
{
|
|
136
150
|
id: media_id,
|
|
137
151
|
id_str: media_id.to_s,
|
|
138
|
-
indices:
|
|
152
|
+
indices: [
|
|
139
153
|
103,
|
|
140
154
|
126
|
|
141
155
|
],
|
|
@@ -145,23 +159,23 @@ module Faker
|
|
|
145
159
|
display_url: 'example.com',
|
|
146
160
|
expanded_url: Faker::Internet.url(host: 'example.com'),
|
|
147
161
|
type: 'photo',
|
|
148
|
-
sizes:
|
|
149
|
-
medium:
|
|
162
|
+
sizes: {
|
|
163
|
+
medium: {
|
|
150
164
|
w: 1064,
|
|
151
165
|
h: 600,
|
|
152
166
|
resize: 'fit'
|
|
153
167
|
},
|
|
154
|
-
large:
|
|
168
|
+
large: {
|
|
155
169
|
w: 1064,
|
|
156
170
|
h: 600,
|
|
157
171
|
resize: 'fit'
|
|
158
172
|
},
|
|
159
|
-
small:
|
|
173
|
+
small: {
|
|
160
174
|
w: 680,
|
|
161
175
|
h: 383,
|
|
162
176
|
resize: 'fit'
|
|
163
177
|
},
|
|
164
|
-
thumb:
|
|
178
|
+
thumb: {
|
|
165
179
|
w: 150,
|
|
166
180
|
h: 150,
|
|
167
181
|
resize: 'crop'
|
data/lib/faker/default/types.rb
CHANGED
|
@@ -7,7 +7,11 @@ module Faker
|
|
|
7
7
|
COMPLEX_TYPES = %i[hash array].freeze
|
|
8
8
|
|
|
9
9
|
class << self
|
|
10
|
-
def rb_string(words: 1)
|
|
10
|
+
def rb_string(legacy_words = NOT_GIVEN, words: 1)
|
|
11
|
+
warn_for_deprecated_arguments do |keywords|
|
|
12
|
+
keywords << :words if legacy_words != NOT_GIVEN
|
|
13
|
+
end
|
|
14
|
+
|
|
11
15
|
resolved_num = resolve(words)
|
|
12
16
|
word_list =
|
|
13
17
|
translate('faker.lorem.words')
|
|
@@ -20,11 +24,21 @@ module Faker
|
|
|
20
24
|
sample(CHARACTERS)
|
|
21
25
|
end
|
|
22
26
|
|
|
23
|
-
def rb_integer(from: 0, to: 100)
|
|
27
|
+
def rb_integer(legacy_from = NOT_GIVEN, legacy_to = NOT_GIVEN, from: 0, to: 100)
|
|
28
|
+
warn_for_deprecated_arguments do |keywords|
|
|
29
|
+
keywords << :from if legacy_from != NOT_GIVEN
|
|
30
|
+
keywords << :to if legacy_to != NOT_GIVEN
|
|
31
|
+
end
|
|
32
|
+
|
|
24
33
|
rand(from..to).to_i
|
|
25
34
|
end
|
|
26
35
|
|
|
27
|
-
def rb_hash(number: 1, type: random_type)
|
|
36
|
+
def rb_hash(legacy_number = NOT_GIVEN, legacy_type = NOT_GIVEN, number: 1, type: random_type)
|
|
37
|
+
warn_for_deprecated_arguments do |keywords|
|
|
38
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
|
39
|
+
keywords << :type if legacy_type != NOT_GIVEN
|
|
40
|
+
end
|
|
41
|
+
|
|
28
42
|
{}.tap do |hsh|
|
|
29
43
|
Lorem.words(number: number * 2).uniq.first(number).each do |s|
|
|
30
44
|
hsh.merge!(s.to_sym => type)
|
|
@@ -32,11 +46,19 @@ module Faker
|
|
|
32
46
|
end
|
|
33
47
|
end
|
|
34
48
|
|
|
35
|
-
def complex_rb_hash(number: 1)
|
|
49
|
+
def complex_rb_hash(legacy_number = NOT_GIVEN, number: 1)
|
|
50
|
+
warn_for_deprecated_arguments do |keywords|
|
|
51
|
+
keywords << :number if legacy_number != NOT_GIVEN
|
|
52
|
+
end
|
|
53
|
+
|
|
36
54
|
rb_hash(number: number, type: random_complex_type)
|
|
37
55
|
end
|
|
38
56
|
|
|
39
|
-
def rb_array(len: 1)
|
|
57
|
+
def rb_array(legacy_len = NOT_GIVEN, len: 1)
|
|
58
|
+
warn_for_deprecated_arguments do |keywords|
|
|
59
|
+
keywords << :len if legacy_len != NOT_GIVEN
|
|
60
|
+
end
|
|
61
|
+
|
|
40
62
|
[].tap do |ar|
|
|
41
63
|
len.times do
|
|
42
64
|
ar.push random_type
|