class Ellen::Adapters::Twitter

Public Instance Methods

run() click to toggle source
# File lib/ellen/adapters/twitter.rb, line 14
def run
  abortable
  listen
end
say(body) click to toggle source
# File lib/ellen/adapters/twitter.rb, line 19
def say(body)
  client.update(body)
end

Private Instance Methods

abortable() click to toggle source
# File lib/ellen/adapters/twitter.rb, line 54
def abortable
  Thread.abort_on_exception = true
end
client() click to toggle source
# File lib/ellen/adapters/twitter.rb, line 34
def client
  ::Twitter::REST::Client.new do |config|
    config.consumer_key        = ENV["TWITTER_CONSUMER_KEY"]
    config.consumer_secret     = ENV["TWITTER_CONSUMER_SECRET"]
    config.access_token        = ENV["TWITTER_ACCESS_TOKEN"]
    config.access_token_secret = ENV["TWITTER_ACCESS_TOKEN_SECRET"]
  end
end
listen() click to toggle source
# File lib/ellen/adapters/twitter.rb, line 25
def listen
  stream.user do |tweet|
    case tweet
    when ::Twitter::Tweet
      robot.receive(body: tweet.text)
    end
  end
end
stream() click to toggle source
# File lib/ellen/adapters/twitter.rb, line 44
def stream
  ::Twitter::Streaming::Client.new do |config|
    config.consumer_key        = ENV["TWITTER_CONSUMER_KEY"]
    config.consumer_secret     = ENV["TWITTER_CONSUMER_SECRET"]
    config.access_token        = ENV["TWITTER_ACCESS_TOKEN"]
    config.access_token_secret = ENV["TWITTER_ACCESS_TOKEN_SECRET"]
  end
end