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

- old
+ new

@@ -1,32 +1,42 @@ -#!/usr/bin/env ruby # -*- coding: utf-8 -*- -require 'rubygems' if RUBY_VERSION < '1.9.0' -require 'oauth' - class Pupil - def self.keygen - print "Enter OAuth Consumer_Key: " - oauth_consumer_key = gets.chomp.strip - print "Enter OAuth Consumer_Secret: " - oauth_consumer_secret = gets.chomp.strip + class Keygen + class MissingRequiedTokens < 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 + 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 - CONSUMER_KEY = oauth_consumer_key - CONSUMER_SECRET = oauth_consumer_secret + CONSUMER_KEY = oauth_consumer_key + CONSUMER_SECRET = oauth_consumer_secret - consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET, :site => 'http://twitter.com') + consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET, :site => 'http://twitter.com') - request_token = consumer.get_request_token + request_token = consumer.get_request_token - puts "Access to this URL and approve: #{request_token.authorize_url}" + puts "Access to this URL and approve: #{request_token.authorize_url}" - print "Enter OAuth Verifier: " - oauth_verifier = gets.chomp.strip + print "Enter OAuth Verifier: " + oauth_verifier = gets.chomp.strip - access_token = request_token.get_access_token(:oauth_verifier => oauth_verifier) + access_token = request_token.get_access_token(:oauth_verifier => oauth_verifier) - puts "Process complete!" - puts "Access token: #{access_token.token}" - puts "Access token secret: #{access_token.secret}" - end + puts "Process complete!" + puts "Access token: #{access_token.token}" + puts "Access token secret: #{access_token.secret}" + end end \ No newline at end of file