Skip to content

Instantly share code, notes, and snippets.

@jedisct1
Last active September 28, 2015 03:07
Show Gist options
  • Save jedisct1/1374786 to your computer and use it in GitHub Desktop.
Save jedisct1/1374786 to your computer and use it in GitHub Desktop.
favorites.rb
require 'twitter'
USER = 'jedisct1'
SINCE_ID_FILE = "#{ENV['HOME']}/.favorites_since_id"
Twitter.configure do |config|
config.consumer_key = 'fuck a duck'
config.consumer_secret = 'fuck a duck'
config.oauth_token = 'fuck a duck'
config.oauth_token_secret = 'fuck a duck'
end
page = 0
last_since_id = since_id = begin File.read(SINCE_ID_FILE).to_i rescue 1 end
favs = []
loop do
favs_page = Twitter.favorites(USER, since_id: since_id,
count: 200, page: page += 1)
break if favs_page.empty?
favs << favs_page.collect { |fav| fav.text.gsub(/[[:space:]]+/, ' ') }.reverse
last_since_id = favs_page.inject(last_since_id) do |last_since_id, fav|
fav.id > last_since_id ? fav.id : last_since_id
end
end
puts favs.reverse.join("\n\n")
File.open(SINCE_ID_FILE, 'w') { |f| f.write(last_since_id) }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment