Class: Twitter::Client

Inherits:
Object
  • Object
show all
Includes:
Utils
Defined in:
lib/twitter/client.rb

Overview

Base client class for Twitter API authentication

Direct Known Subclasses

REST::Client, Streaming::Client

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Utils

flat_pmap, pmap

Constructor Details

#initialize(options = {}) {|_self| ... } ⇒ Twitter::Client

Initializes a new Client object

Examples:

client = Twitter::Client.new(consumer_key: "key")

Parameters:

  • options (Hash) (defaults to: {})

Yields:

  • (_self)

Yield Parameters:



81
82
83
84
85
86
# File 'lib/twitter/client.rb', line 81

def initialize(options = {})
  options.each do |key, value|
    instance_variable_set(:"@#{key}", value)
  end
  yield(self) if block_given?
end

Instance Attribute Details

#access_tokenString

The OAuth access token

Examples:

client.access_token # => "token"

Returns:

  • (String)


16
17
18
# File 'lib/twitter/client.rb', line 16

def access_token
  @access_token
end

#access_token_secretString

The OAuth access token secret

Examples:

client.access_token_secret # => "secret"

Returns:

  • (String)


24
25
26
# File 'lib/twitter/client.rb', line 24

def access_token_secret
  @access_token_secret
end

#consumer_keyString

The OAuth consumer key

Examples:

client.consumer_key # => "key"

Returns:

  • (String)


32
33
34
# File 'lib/twitter/client.rb', line 32

def consumer_key
  @consumer_key
end

#consumer_secretString

The OAuth consumer secret

Examples:

client.consumer_secret # => "secret"

Returns:

  • (String)


40
41
42
# File 'lib/twitter/client.rb', line 40

def consumer_secret
  @consumer_secret
end

#dev_environmentString

The development environment name for Premium API endpoints

Examples:

client.dev_environment # => "dev"

Returns:

  • (String)


64
65
66
# File 'lib/twitter/client.rb', line 64

def dev_environment
  @dev_environment
end

#proxyString

The proxy server URI

Examples:

client.proxy # => "http://proxy.example.com:8080"

Returns:

  • (String)


48
49
50
# File 'lib/twitter/client.rb', line 48

def proxy
  @proxy
end

#timeoutsHash

The HTTP request timeouts

Examples:

client.timeouts # => {connect: 5, read: 10}

Returns:

  • (Hash)


56
57
58
# File 'lib/twitter/client.rb', line 56

def timeouts
  @timeouts
end

#user_agentString

The user agent string sent with requests

Examples:

client.user_agent # => "TwitterRubyGem/8.2.0"

Returns:

  • (String)


104
105
106
# File 'lib/twitter/client.rb', line 104

def user_agent
  @user_agent ||= "TwitterRubyGem/#{Twitter::Version}"
end

Instance Method Details

#credentialsHash

The OAuth credentials hash

Examples:

client.credentials # => {consumer_key: "key", ...}

Returns:

  • (Hash)


114
115
116
117
118
119
120
121
# File 'lib/twitter/client.rb', line 114

def credentials
  {
    consumer_key:,
    consumer_secret:,
    token: access_token,
    token_secret: access_token_secret
  }
end

#credentials?Boolean

Check if all credentials are present

Examples:

client.credentials? # => true

Returns:

  • (Boolean)


129
130
131
# File 'lib/twitter/client.rb', line 129

def credentials?
  credentials.values.none? { |v| blank_string?(v) }
end

#user_token?Boolean

Check if user token credentials are present

Examples:

client.user_token? # => true

Returns:

  • (Boolean)


94
95
96
# File 'lib/twitter/client.rb', line 94

def user_token?
  !(blank_string?(access_token) || blank_string?(access_token_secret))
end