Skip to content

Instantly share code, notes, and snippets.

@citizen428
Created February 27, 2009 16:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save citizen428/71559 to your computer and use it in GitHub Desktop.
Save citizen428/71559 to your computer and use it in GitHub Desktop.
Tweet the currently active Safari tab
#!/usr/bin/ruby -W0
=begin
Quick and dirty way to tweet the currently active
Safari tab (title + shortened URL). Hashtags get
passed in as parameters (the hash sign gets added
by the script, so don't do it yourself)
Adapt to your needs!
=end
# I don't believe in requiring rubygems itself
#require 'rubygems'
require 'highline'
require 'rbosa'
require 'ShortURL'
gem('twitter4r', '0.3.0')
require 'time'
require 'twitter'
# OSA stuff to get to the active Safari tab
OSA.utf8_strings = true
tab = OSA.app('Safari').windows.first.current_tab
tweet = "#{tab.name} - #{ShortURL.shorten(tab.url)} "
ARGV.each { |tag| tweet << "##{tag} " }
unless tweet.length < 140
puts "Tweet too long :-("
exit 1
end
# I didn't feel like having my pw in the file
# therefore using highline to ask for it
hl = HighLine.new
twitter_user = 'citizen428'
twitter_pass = hl.ask('Enter password: ') { |q| q.echo = "*" }
# post tweet
client = Twitter::Client.new(:login => twitter_user, :password => twitter_pass)
Twitter::Status.create(:text => tweet, :client => client)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment