lib/pupil/keygen.rb in pupil-0.0.4 vs lib/pupil/keygen.rb in pupil-0.0.5

- old
+ new

@@ -1,42 +1,59 @@ # -*- coding: utf-8 -*- class Pupil class Keygen - class MissingRequiedTokens < StandardError; end - + attr_reader :con_key + attr_reader :con_sec + attr_reader :act_key + attr_reader :act_sec + class MissingRequiredTokens < StandardError; end + def initialize opts={} @con_key = opts[:consumer_key] rescue nil @con_sec = opts[:consumer_secret] rescue nil @act_key = opts[:access_token] rescue nil @act_sec = opts[:access_token_secret] rescue nil end - def access_token - raise MissingRequiedTokens, "Keygen#access_token require consumer_key and consumer_secret" unless @con_key && @con_sec + def get_auth_url + raise MissingRequiredTokens, "Pupil::Keygen#get_auth_url require consumer_key and consumer_secret when initialized" unless @con_key || @con_sec + consumer = OAuth::Consumer.new(@con_key, @con_sec, :site => 'http://twitter.com') + request_token = consumer.get_request_token + return request_token.authorize_url end + def issue_token verifier + raise MissingRequiredTokens, "Pupil::Keygen#get_auth_url require consumer_key and consumer_secret when initialized" unless @con_key || @con_sec + consumer = OAuth::Consumer.new(@con_key, @con_sec, :site => 'http://twitter.com') + request_token = consumer.get_request_token + access_token = request_token.get_access_token(:oauth_verifier => verifier) + @act_key = access_token.token + @act_sec = access_token.secret + return {:access_token => access_token.token, :access_token_secret => access_token.secret} + end + def interactive - print "Enter OAuth Consumer_Key: " - oauth_consumer_key = gets.chomp.strip - print "Enter OAuth Consumer_Secret: " - oauth_consumer_secret = gets.chomp.strip + print "Enter OAuth Consumer Key: " unless @con_key + @con_key = gets.chomp.strip unless @con_key + print "Enter OAuth Consumer Secret: " unless @con_sec + @con_sec = gets.chomp.strip unless @con_sec - CONSUMER_KEY = oauth_consumer_key - CONSUMER_SECRET = oauth_consumer_secret + consumer = OAuth::Consumer.new(@con_key, @con_sec, :site => 'http://twitter.com') - consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET, :site => 'http://twitter.com') - request_token = consumer.get_request_token puts "Access to this URL and approve: #{request_token.authorize_url}" print "Enter OAuth Verifier: " oauth_verifier = gets.chomp.strip access_token = request_token.get_access_token(:oauth_verifier => oauth_verifier) + @act_key = access_token.token + @act_sec = access_token.secret puts "Process complete!" puts "Access token: #{access_token.token}" puts "Access token secret: #{access_token.secret}" end + end end \ No newline at end of file