Skip to content

Instantly share code, notes, and snippets.

@dce
Created December 4, 2008 05:27
Show Gist options
  • Save dce/31852 to your computer and use it in GitHub Desktop.
Save dce/31852 to your computer and use it in GitHub Desktop.
#!/usr/bin/ruby
# cronjob set up like this:
# */5 * * * * /var/cron/twitter.rb 12571852 > /var/www/davideisinger.com/twitter.txt
# */5 * * * * /var/cron/twitter.rb 14090058 > /var/www/sarahbetheisinger.com/twitter.txt
require 'rubygems'
require 'net/http'
require 'json'
def web_link(url)
text = url.length > 30 ? url[0, 30] + "…" : url
"<a href=\"#{url}\">#{text}</a>"
end
def twitter_link(word)
name = word[/\w+/]
word.gsub(name, "<a href=\"http://twitter.com/#{name}\">#{name}</a>")
end
uri = URI.parse("http://twitter.com/statuses/user_timeline/#{ARGV[0]}.json")
data = JSON.parse(Net::HTTP.get(uri)).first
id = data["id"]
user = data["user"]["screen_name"]
tweet = data["text"].split(' ').map do |word|
case word
when /^@/
twitter_link(word)
when /^http/
web_link(word)
else
word
end
end * ' '
print "#{tweet} <a href=\"http://www.twitter.com/#{user}/statuses/#{id}\">∞</a>"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment