Skip to content

Instantly share code, notes, and snippets.

@maxdevel
Forked from citizen428/safaritweet.rb
Created March 1, 2009 16:34
Show Gist options
  • Save maxdevel/72377 to your computer and use it in GitHub Desktop.
Save maxdevel/72377 to your computer and use it in GitHub Desktop.
#!/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 '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 poor man's pw protection
twitter_user = '<your user name>'
print 'Enter password: '
STDOUT.flush
system('stty -echo')
twitter_pass = STDIN.gets.chomp
system('stty echo')
puts
# 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