Method: Faker::Twitter.user

Defined in:
lib/faker/default/twitter.rb

.user(include_status: true, include_email: false) ⇒ Hash

Produces a random Twitter user.

Examples:

Faker::Twitter.user #=>  {:id=>8821452687517076614, :name=>"Lincoln Paucek", :screen_name=>"cody"...
Faker::Twitter.user(include_status: false) # Just get a user object with no embed status
Faker::Twitter.user(include_email: true) # Simulate an authenticated user with the email permission

Parameters:

  • include_status (Boolean) (defaults to: true)

    Include or exclude user status details

  • include_email (Boolean) (defaults to: false)

    Include or exclude user email details

Returns:

  • (Hash)

Available since:

  • 1.7.3



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/faker/default/twitter.rb', line 19

def user(include_status: true, include_email: false)
  user_id = id
  background_image_url = Faker::LoremFlickr.image(size: '600x400')
  profile_image_url = Faker::Avatar.image(slug: user_id, size: '48x48')
  user = {
    id: user_id,
    id_str: user_id.to_s,
    contributors_enabled: Faker::Boolean.boolean(true_ratio: 0.1),
    created_at: created_at,
    default_profile_image: Faker::Boolean.boolean(true_ratio: 0.1),
    default_profile: Faker::Boolean.boolean(true_ratio: 0.1),
    description: Faker::Lorem.sentence,
    entities: user_entities,
    favourites_count: Faker::Number.between(to: 1, from: 100_000),
    follow_request_sent: false,
    followers_count: Faker::Number.between(to: 1, from: 10_000_000),
    following: false,
    friends_count: Faker::Number.between(to: 1, from: 100_000),
    geo_enabled: Faker::Boolean.boolean(true_ratio: 0.1),
    is_translation_enabled: Faker::Boolean.boolean(true_ratio: 0.1),
    is_translator: Faker::Boolean.boolean(true_ratio: 0.1),
    lang: Faker::Address.country_code,
    listed_count: Faker::Number.between(to: 1, from: 1000),
    location: "#{Faker::Address.city}, #{Faker::Address.state_abbr}, #{Faker::Address.country_code}",
    name: Faker::Name.name,
    notifications: false,
    profile_background_color: Faker::Color.hex_color,
    profile_background_image_url_https: background_image_url,
    profile_background_image_url: background_image_url.sub('https://', 'http://'),
    profile_background_tile: Faker::Boolean.boolean(true_ratio: 0.1),
    profile_banner_url: Faker::LoremFlickr.image(size: '1500x500'),
    profile_image_url_https: profile_image_url,
    profile_image_url: profile_image_url.sub('https://', 'http://'),
    profile_link_color: Faker::Color.hex_color,
    profile_sidebar_border_color: Faker::Color.hex_color,
    profile_sidebar_fill_color: Faker::Color.hex_color,
    profile_text_color: Faker::Color.hex_color,
    profile_use_background_image: Faker::Boolean.boolean(true_ratio: 0.4),
    protected: Faker::Boolean.boolean(true_ratio: 0.1),
    screen_name: screen_name,
    statuses_count: Faker::Number.between(to: 1, from: 100_000),
    time_zone: Faker::Address.time_zone,
    url: Faker::Internet.url(host: 'example.com'),
    utc_offset: utc_offset,
    verified: Faker::Boolean.boolean(true_ratio: 0.1)
  }
  user[:status] = Faker::Twitter.status(include_user: false) if include_status
  user[:email] = Faker::Internet.email if include_email
  user
end