Class: Pupil::Keygen
- Inherits:
-
Object
- Object
- Pupil::Keygen
- Defined in:
- lib/pupil/keygen/base.rb
Defined Under Namespace
Classes: MissingRequiredTokens
Constant Summary collapse
- TWITTER_API_URL =
"https://api.twitter.com"
Instance Attribute Summary collapse
-
#access_token ⇒ Object
readonly
Returns the value of attribute access_token.
-
#access_token_secret ⇒ Object
readonly
Returns the value of attribute access_token_secret.
-
#consumer_key ⇒ Object
readonly
Returns the value of attribute consumer_key.
-
#consumer_secret ⇒ Object
readonly
Returns the value of attribute consumer_secret.
Instance Method Summary collapse
- #auth_url ⇒ Object
- #consumer ⇒ Object
-
#initialize(opts = {}) ⇒ Keygen
constructor
A new instance of Keygen.
- #interactive ⇒ Object
- #issue_token(verifier) ⇒ Object
- #pupil_key ⇒ Object
Constructor Details
#initialize(opts = {}) ⇒ Keygen
Returns a new instance of Keygen.
10 11 12 13 14 15 |
# File 'lib/pupil/keygen/base.rb', line 10 def initialize(opts={}) @consumer_key = opts[:consumer_key] rescue nil @consumer_secret = opts[:consumer_secret] rescue nil @access_token = opts[:access_token] rescue nil @access_token_secret = opts[:access_token_secret] rescue nil end |
Instance Attribute Details
#access_token ⇒ Object (readonly)
Returns the value of attribute access_token.
5 6 7 |
# File 'lib/pupil/keygen/base.rb', line 5 def access_token @access_token end |
#access_token_secret ⇒ Object (readonly)
Returns the value of attribute access_token_secret.
6 7 8 |
# File 'lib/pupil/keygen/base.rb', line 6 def access_token_secret @access_token_secret end |
#consumer_key ⇒ Object (readonly)
Returns the value of attribute consumer_key.
3 4 5 |
# File 'lib/pupil/keygen/base.rb', line 3 def consumer_key @consumer_key end |
#consumer_secret ⇒ Object (readonly)
Returns the value of attribute consumer_secret.
4 5 6 |
# File 'lib/pupil/keygen/base.rb', line 4 def consumer_secret @consumer_secret end |
Instance Method Details
#auth_url ⇒ Object
21 22 23 24 25 |
# File 'lib/pupil/keygen/base.rb', line 21 def auth_url raise MissingRequiredTokens, "Pupil::Keygen#auth_url require consumer_key and consumer_secret" unless @consumer_key || @consumer_secret request_token = consumer.get_request_token return request_token. end |
#consumer ⇒ Object
17 18 19 |
# File 'lib/pupil/keygen/base.rb', line 17 def consumer OAuth::Consumer.new(@consumer_key, @consumer_secret, :site => TWITTER_API_URL) end |
#interactive ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/pupil/keygen/base.rb', line 46 def interactive @consumer_key = Readline.readline("Enter OAuth Consumer Key: ", true) unless @consumer_key print unless @consumer_secret @consumer_secret = Readline.readline("Enter OAuth Consumer Secret: ", true) unless @consumer_secret request_token = consumer.get_request_token puts "Access to this URL and approve: #{request_token.}" oauth_verifier = Readline.readline("Enter OAuth Verifier: ", true) access_token = request_token.get_access_token(:oauth_verifier => oauth_verifier) @access_token = access_token.token @access_token_secret = access_token.secret return {:consumer_key => @consumer_key, :consumer_secret => @consumer_secret, :access_token => access_token.token, :access_token_secret => access_token.secret, :screen_name => access_token.params[:screen_name]} end |
#issue_token(verifier) ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/pupil/keygen/base.rb', line 27 def issue_token verifier raise MissingRequiredTokens, "Pupil::Keygen#issue_token require consumer_key and consumer_secret" unless @consumer_key || @consumer_secret request_token = consumer.get_request_token access_token = request_token.get_access_token(:oauth_verifier => verifier) @access_token = access_token.token @access_token_secret = access_token.secret return {:access_token => access_token.token, :access_token_secret => access_token.secret} end |
#pupil_key ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'lib/pupil/keygen/base.rb', line 36 def pupil_key raise MissingRequiredTokens, "Pupil::Keygen#pupilkey require consumer_key, consumer_secret, access_token and access_token_secret" unless @consumer_key || @consumer_secret || @access_token || @access_token_secret return { :consumer_key => @consumer_key, :consumer_secret => @consumer_secret, :access_token => @access_token, :access_token_secret => @access_token_secret } end |