Class: Twitter::Streaming::Client
- Includes:
- Utils
- Defined in:
- lib/twitter/streaming/client.rb
Overview
Client for consuming the Twitter Streaming API
Instance Attribute Summary collapse
-
#connection ⇒ Twitter::Streaming::Connection
writeonly
Sets the connection object.
Attributes inherited from Client
#access_token, #access_token_secret, #consumer_key, #consumer_secret, #dev_environment, #proxy, #timeouts, #user_agent
Instance Method Summary collapse
-
#before_request(&block) ⇒ Proc, Twitter::Streaming::Client
Set a Proc to be run when connection established.
-
#close ⇒ void
Closes the streaming connection.
-
#filter(options = {}) {|Twitter::Tweet, Twitter::Streaming::Event, Twitter::DirectMessage, Twitter::Streaming::FriendList, Twitter::Streaming::DeletedTweet, Twitter::Streaming::StallWarning| ... } ⇒ void
Returns public statuses that match one or more filter predicates.
-
#firehose(options = {}) {|Twitter::Tweet, Twitter::Streaming::Event, Twitter::DirectMessage, Twitter::Streaming::FriendList, Twitter::Streaming::DeletedTweet, Twitter::Streaming::StallWarning| ... } ⇒ void
Returns all public statuses.
-
#initialize(options = {}) ⇒ Twitter::Streaming::Client
constructor
Initializes a new Client object.
-
#sample(options = {}) {|Twitter::Tweet, Twitter::Streaming::Event, Twitter::DirectMessage, Twitter::Streaming::FriendList, Twitter::Streaming::DeletedTweet, Twitter::Streaming::StallWarning| ... } ⇒ void
Returns a small random sample of all public statuses.
-
#site(*follow, options = {}) {|Twitter::Tweet, Twitter::Streaming::Event, Twitter::DirectMessage, Twitter::Streaming::FriendList, Twitter::Streaming::DeletedTweet, Twitter::Streaming::StallWarning| ... } ⇒ void
Streams messages for a set of users.
-
#user(options = {}) {|Twitter::Tweet, Twitter::Streaming::Event, Twitter::DirectMessage, Twitter::Streaming::FriendList, Twitter::Streaming::DeletedTweet, Twitter::Streaming::StallWarning| ... } ⇒ void
Streams messages for a single user.
Methods included from Utils
Methods inherited from Client
#credentials, #credentials?, #user_token?
Constructor Details
#initialize(options = {}) ⇒ Twitter::Streaming::Client
Initializes a new Client object
37 38 39 40 |
# File 'lib/twitter/streaming/client.rb', line 37 def initialize( = {}) super @connection = Streaming::Connection.new() end |
Instance Attribute Details
#connection=(value) ⇒ Twitter::Streaming::Connection (writeonly)
Sets the connection object
26 27 28 |
# File 'lib/twitter/streaming/client.rb', line 26 def connection=(value) @connection = value end |
Instance Method Details
#before_request(&block) ⇒ Proc, Twitter::Streaming::Client
Set a Proc to be run when connection established
137 138 139 140 141 142 143 144 145 146 |
# File 'lib/twitter/streaming/client.rb', line 137 def before_request(&block) if block @before_request = block self elsif instance_variable_defined?(:@before_request) @before_request else proc {} end end |
#close ⇒ void
This method returns an undefined value.
Closes the streaming connection
154 155 156 |
# File 'lib/twitter/streaming/client.rb', line 154 def close @connection.close end |
#filter(options = {}) {|Twitter::Tweet, Twitter::Streaming::Event, Twitter::DirectMessage, Twitter::Streaming::FriendList, Twitter::Streaming::DeletedTweet, Twitter::Streaming::StallWarning| ... } ⇒ void
At least one predicate parameter (follow, locations, or track) must be specified.
This method returns an undefined value.
Returns public statuses that match one or more filter predicates
56 57 58 |
# File 'lib/twitter/streaming/client.rb', line 56 def filter( = {}, &) request(:post, "https://stream.twitter.com:443/1.1/statuses/filter.json", , &) end |
#firehose(options = {}) {|Twitter::Tweet, Twitter::Streaming::Event, Twitter::DirectMessage, Twitter::Streaming::FriendList, Twitter::Streaming::DeletedTweet, Twitter::Streaming::StallWarning| ... } ⇒ void
This endpoint requires special permission to access.
This method returns an undefined value.
Returns all public statuses
72 73 74 |
# File 'lib/twitter/streaming/client.rb', line 72 def firehose( = {}, &) request(:get, "https://stream.twitter.com:443/1.1/statuses/firehose.json", , &) end |
#sample(options = {}) {|Twitter::Tweet, Twitter::Streaming::Event, Twitter::DirectMessage, Twitter::Streaming::FriendList, Twitter::Streaming::DeletedTweet, Twitter::Streaming::StallWarning| ... } ⇒ void
This method returns an undefined value.
Returns a small random sample of all public statuses
85 86 87 |
# File 'lib/twitter/streaming/client.rb', line 85 def sample( = {}, &) request(:get, "https://stream.twitter.com:443/1.1/statuses/sample.json", , &) end |
#site(*follow, options = {}) {|Twitter::Tweet, Twitter::Streaming::Event, Twitter::DirectMessage, Twitter::Streaming::FriendList, Twitter::Streaming::DeletedTweet, Twitter::Streaming::StallWarning| ... } ⇒ void
Site Streams is currently in a limited beta. Access is restricted to whitelisted accounts.
This method returns an undefined value.
Streams messages for a set of users
105 106 107 108 109 |
# File 'lib/twitter/streaming/client.rb', line 105 def site(*args, &) arguments = Arguments.new(args) user_ids = collect_user_ids(arguments) request(:get, "https://sitestream.twitter.com:443/1.1/site.json", arguments..merge(follow: user_ids.join(",")), &) end |
#user(options = {}) {|Twitter::Tweet, Twitter::Streaming::Event, Twitter::DirectMessage, Twitter::Streaming::FriendList, Twitter::Streaming::DeletedTweet, Twitter::Streaming::StallWarning| ... } ⇒ void
This method returns an undefined value.
Streams messages for a single user
127 128 129 |
# File 'lib/twitter/streaming/client.rb', line 127 def user( = {}, &) request(:get, "https://userstream.twitter.com:443/1.1/user.json", , &) end |