Class: Rabbiter::Client
Constant Summary collapse
- CONSUMER_KEY =
"wT9WSC0afRw94fxUw0iIKw"
- CONSUMER_SECRET =
"mwY35vfQfmWde9lZbyNNB15QzCq3k2VwGj3X1IAkQ8"
Constants included from GetText
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(logger) ⇒ Client
constructor
A new instance of Client.
- #register_listener(&block) ⇒ Object
- #setup ⇒ Object
- #start(*filters, &block) ⇒ Object
Methods included from GetText
Constructor Details
#initialize(logger) ⇒ Client
Returns a new instance of Client.
36 37 38 39 40 41 42 43 |
# File 'lib/rabbiter.rb', line 36 def initialize(logger) @logger = logger @oauth_parameters = nil @config_file_path = Pathname.new("~/.rabbit/twitter-oauth.yaml") @config_file_path = @config_file_path. @listeners = [] @connection = nil end |
Instance Method Details
#close ⇒ Object
59 60 61 62 63 |
# File 'lib/rabbiter.rb', line 59 def close return if @connection.nil? @connection.close @connection = nil end |
#register_listener(&block) ⇒ Object
45 46 47 |
# File 'lib/rabbiter.rb', line 45 def register_listener(&block) @listeners << block end |
#setup ⇒ Object
49 50 51 52 53 54 55 56 57 |
# File 'lib/rabbiter.rb', line 49 def setup return unless @oauth_parameters.nil? setup_access_token unless @config_file_path.exist? oauth_access_parameters = YAML.load(@config_file_path.read) @oauth_parameters = { :access_key => oauth_access_parameters[:access_token], :access_secret => oauth_access_parameters[:access_secret], } end |
#start(*filters, &block) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/rabbiter.rb', line 65 def start(*filters, &block) register_listener(&block) if block_given? setup if @oauth_parameters.nil? return if @oauth_parameters.nil? = { :access_token => @oauth_parameters[:access_key], :access_token_secret => @oauth_parameters[:access_secret], :consumer_key => CONSUMER_KEY, :consumer_secret => CONSUMER_SECRET, :user_agent => "Rabbiter #{Rabbiter::VERSION}", } @client = ::Twitter::Streaming::Client.new() @client.filter(:track => filters.join(",")) do |status| @listeners.each do |listener| listener.call(status) end end end |