Class: Tw::Auth
- Inherits:
-
Object
- Object
- Tw::Auth
- Defined in:
- lib/tw/client/auth.rb
Class Method Summary collapse
Class Method Details
.auth(user = nil) ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/tw/client/auth.rb', line 18 def self.auth(user=nil) user = get_or_regist_user user return Twitter::REST::Client.new do |c| c.consumer_key = Conf['consumer_key'] c.consumer_secret = Conf['consumer_secret'] c.access_token = user['access_token'] c.access_token_secret = user['access_secret'] end end |
.get_or_regist_user(user) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/tw/client/auth.rb', line 28 def self.get_or_regist_user(user) return user if user.kind_of? Hash if user.kind_of? String raise ArgumentError, "user \"#{user}\" not exists." unless Conf['users'].include? user return Conf['users'][user] end unless user return Conf['users'][ Conf['default_user'] ] if Conf['default_user'] return regist_user end end |
.regist_user ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/tw/client/auth.rb', line 40 def self.regist_user consumer = OAuth::Consumer.new(Conf['consumer_key'], Conf['consumer_secret'], :site => 'https://api.twitter.com') request_token = consumer.get_request_token puts "open #{request_token.}" begin Launchy.open request_token. rescue STDERR.puts "couldn't open web-browser" end print 'input PIN Number: ' verifier = STDIN.gets.strip access_token = request_token.get_access_token(:oauth_verifier => verifier) client = Tw::Client.new.auth('access_token' => access_token.token, 'access_secret' => access_token.secret) u = client.user Conf['users'][u.screen_name] = { 'access_token' => access_token.token, 'access_secret' => access_token.secret, 'id' => u.id } Conf['default_user'] = u.screen_name unless Conf['default_user'] Conf.save puts "add \"@#{u.screen_name}\"" return Conf['users'][u.screen_name] end |