class SocialCleaner::Twitr
Attributes
access_secret[RW]
access_token[RW]
consumer_secret[RW]
consumer_token[RW]
delete_after_days[RW]
Public Class Methods
new(consumer_token, consumer_secret, access_token, access_secret, delete_after_days)
click to toggle source
# File lib/social_cleaner/twitr.rb, line 10 def initialize(consumer_token, consumer_secret, access_token, access_secret, delete_after_days) self.consumer_token = consumer_token self.consumer_secret = consumer_secret self.access_token = access_token self.access_secret = access_secret self.delete_after_days = delete_after_days end
Public Instance Methods
delete_messages()
click to toggle source
# File lib/social_cleaner/twitr.rb, line 18 def delete_messages Twitter.configure do |config| config.consumer_key = consumer_token config.consumer_secret = consumer_secret config.oauth_token = access_token config.oauth_token_secret = access_secret end expire_before = Time.now - (delete_after_days * 60 * 60 * 24) expire_ids = [] puts "Expiring all Twitter updates prior to #{expire_before.to_s}." Twitter.user_timeline(count: 200).each do |status| if status[:created_at] < expire_before puts "Queueing delete status ID #{status[:id]} created at #{status[:created_at]} (#{status[:text]})." expire_ids.push(status[:id]) end end # Now we'll sort the array, this will have the affect of putting the oldest items first in # the list to be deleted. expire_ids.sort! puts "Deleting #{expire_ids.length} tweets." # Now let's delete the stuff # Note: the delete method is not rate limited. expire_ids.each do |delete_status| puts "Deleting #{delete_status}..." Twitter.status_destroy(delete_status) end end