Skip to content

Instantly share code, notes, and snippets.

@jcasimir
Forked from rondiver/JSTwitter 02222011
Created February 22, 2011 21:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jcasimir/839491 to your computer and use it in GitHub Desktop.
Save jcasimir/839491 to your computer and use it in GitHub Desktop.
require 'rubygems'
require 'oauth'
require 'twitter'
require 'launchy'
class JSTwitter
attr_accessor :client
@@credentials = {
:consumer_key => "FNjrMrTdkUhadFGeHIVKTg",
:consumer_secret => "AB17hKWAlKE0rmi3kJeScrNd1Msq588niP8jtlBpA"
}
def initialize
puts "Initializing"
setup_oauth unless load_settings
Twitter.configure do |config|
config.consumer_key = @@credentials[:consumer_key]
config.consumer_secret = @@credentials[:consumer_secret]
config.oauth_token = @@credentials[:oauth_token]
config.oauth_token_secret = @@credentials[:oauth_secret]
end
@client = Twitter::Client.new
end
def load_settings
begin
@@credentials = YAML.load(File.open("settings.yml", "r"))
rescue
false
end
end
def write_settings
settings = File.open("settings.yml", "w")
settings << @@credentials.to_yaml
settings.close
end
def setup_oauth
consumer =
OAuth::Consumer.new(@@credentials[:consumer_key],@@credentials[:consumer_secret],:site => "https://api.twitter.com/oauth/request_token")
request_token = consumer.get_request_token
Launchy.open(request_token.authorize_url)
printf "Enter the supplied pin: "
pin = gets.chomp
access_token = request_token.get_access_token(:oauth_verifier => pin)
@@credentials[:oauth_toke] = access_token.token
@@credentials[:oauth_secret] = access_token.secret
write_settings
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment