Class: Rdio::RdioOAuth
Overview
Performs oob OAuth authentication based on a key and secret
Constant Summary collapse
- SITE =
'http://api.rdio.com'
Instance Attribute Summary collapse
-
#get_pin ⇒ Object
string -> string.
-
#key ⇒ Object
Returns the value of attribute key.
-
#secret ⇒ Object
Returns the value of attribute secret.
Instance Method Summary collapse
-
#access_token(requires_auth = false) ⇒ Object
boolean -> AccessToken.
-
#initialize(key, secret) ⇒ RdioOAuth
constructor
A new instance of RdioOAuth.
Constructor Details
#initialize(key, secret) ⇒ RdioOAuth
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/rdio/oauth.rb', line 23 def initialize(key,secret) @key = key @secret = secret @get_pin = lambda do |url| # Try to open using launchy, then if this doesn't work use # system open begin require 'rubygems' require 'launchy' Launchy.open url rescue Exception => e Rdio::logger.error e Rdio::logger.info 'Install the \'launchy\' gem to avoid this error' Rdio::logger.info 'Trying system \'open\'' system 'open',url end oauth_verifier = nil while not oauth_verifier or oauth_verifier == '' print 'Enter the 4-digit PIN> ' STDOUT.flush oauth_verifier = gets.strip end return oauth_verifier end end |
Instance Attribute Details
#get_pin ⇒ Object
string -> string
Set this to allow a different way to enter the pin found for authorization. By default it will open a browser and repeatedly ask the user for input from the console.
21 22 23 |
# File 'lib/rdio/oauth.rb', line 21 def get_pin @get_pin end |
#key ⇒ Object
Returns the value of attribute key.
13 14 15 |
# File 'lib/rdio/oauth.rb', line 13 def key @key end |
#secret ⇒ Object
Returns the value of attribute secret.
13 14 15 |
# File 'lib/rdio/oauth.rb', line 13 def secret @secret end |
Instance Method Details
#access_token(requires_auth = false) ⇒ Object
boolean -> AccessToken
Returns an appropriate oob access token. If requires_auth is true we'll return one needed for authenticated requests. Otherwise (default), we'll return one needed for unauthenticated requests.
58 59 60 |
# File 'lib/rdio/oauth.rb', line 58 def access_token(requires_auth=false) requires_auth ? access_token_auth : access_token_no_auth end |