Class: Weeter::Plugins::Notification::Http

Inherits:
Object
  • Object
show all
Defined in:
lib/weeter/plugins/notification/http.rb

Instance Method Summary collapse

Constructor Details

#initialize(client_app_config) ⇒ Http

Returns a new instance of Http.



5
6
7
# File 'lib/weeter/plugins/notification/http.rb', line 5

def initialize(client_app_config)
  @config = client_app_config
end

Instance Method Details

#delete_tweet(tweet_item) ⇒ Object



17
18
19
20
21
22
# File 'lib/weeter/plugins/notification/http.rb', line 17

def delete_tweet(tweet_item)
  id = tweet_item['delete']['status']['id'].to_s
  user_id = tweet_item['delete']['status']['user_id'].to_s
  Weeter.logger.info("Deleting tweet #{id} for user #{user_id}")
  Weeter::Plugins::Net::OauthHttp.delete(@config, @config.delete_url, {:id => id, :twitter_user_id => user_id})
end

#notify_missed_tweets(tweet_item) ⇒ Object



24
25
26
# File 'lib/weeter/plugins/notification/http.rb', line 24

def notify_missed_tweets(tweet_item)
  Weeter.logger.info("Weeter was limited by Twitter. #{tweet_item.missed_tweets_count} tweets missed.")
end

#notify_rate_limiting_initiated(tweet_item, limited_keys) ⇒ Object



28
29
30
# File 'lib/weeter/plugins/notification/http.rb', line 28

def notify_rate_limiting_initiated(tweet_item, limited_keys)
  Weeter.logger.info("Initiated rate limiting with tweet: #{tweet_item.to_json}")
end

#publish_tweet(tweet_item) ⇒ Object



9
10
11
12
13
14
15
# File 'lib/weeter/plugins/notification/http.rb', line 9

def publish_tweet(tweet_item)
  id = tweet_item['id_str']
  text = tweet_item['text']
  user_id = tweet_item['user']['id_str']
  Weeter.logger.info("Publishing tweet #{id} from user #{user_id}: #{text}")
  Weeter::Plugins::Net::OauthHttp.post(@config, @config.publish_url, {:id => id, :text => text, :twitter_user_id => user_id})
end