class SimpleStream::Client
Constants
- USER_AGENT
Attributes
connection[R]
Public Class Methods
new()
click to toggle source
# File lib/simple_stream/client.rb, line 14 def initialize @connection = SimpleStream::Connection.new end
Public Instance Methods
filter(opts = {}, &block)
click to toggle source
# File lib/simple_stream/client.rb, line 26 def filter(opts = {}, &block) request(:post, 'https://stream.twitter.com:443/1.1/statuses/filter.json', opts, &block) end
firehose(opts = {}, &block)
click to toggle source
# File lib/simple_stream/client.rb, line 34 def firehose(opts = {}, &block) request(:get, 'https://stream.twitter.com:443/1.1/statuses/firehose.json', opts, &block) end
sample(opts = {}, &block)
click to toggle source
# File lib/simple_stream/client.rb, line 30 def sample(opts = {}, &block) request(:get, 'https://stream.twitter.com:443/1.1/statuses/sample.json', opts, &block) end
site(user_ids, opts = {}, &block)
click to toggle source
# File lib/simple_stream/client.rb, line 18 def site(user_ids, opts = {}, &block) request(:get, 'https://sitestream.twitter.com:443/1.1/site.json', opts.merge(follow: user_ids.join(',')), &block) end
user(opts = {}, &block)
click to toggle source
# File lib/simple_stream/client.rb, line 22 def user(opts = {}, &block) request(:get, 'https://userstream.twitter.com:443/1.1/user.json', opts, &block) end
Private Instance Methods
default_headers()
click to toggle source
# File lib/simple_stream/client.rb, line 61 def default_headers { accept: '*/*', user_agent: USER_AGENT } end
oauth_auth_header(method, uri, params = {})
click to toggle source
# File lib/simple_stream/client.rb, line 46 def oauth_auth_header(method, uri, params = {}) uri = Addressable::URI.parse(uri) config = SimpleStream.config SimpleOAuth::Header.new(method, uri, params, { consumer_key: config.consumer_key, consumer_secret: config.consumer_secret, token: config.access_token, token_secret: config.access_secret }) end
request(method, uri, params) { |data| ... }
click to toggle source
# File lib/simple_stream/client.rb, line 39 def request(method, uri, params) headers = default_headers.merge(:authorization => oauth_auth_header(method, uri, params).to_s) request = HTTP::Request.new(method, uri + '?' + to_url_params(params), headers) response = SimpleStream::Response.new { |data| yield(data) } connection.stream(request, response) end
to_url_params(params)
click to toggle source
# File lib/simple_stream/client.rb, line 57 def to_url_params(params) params.collect { |k, v| [k, URI.encode(v)].join('=') }.sort.join('&') end