lib/twitter/oauth.rb in jnunemaker-twitter-0.6.14 vs lib/twitter/oauth.rb in jnunemaker-twitter-0.6.15

- old
+ new

@@ -18,24 +18,39 @@ def consumer @consumer ||= ::OAuth::Consumer.new(@ctoken, @csecret, {:site => 'http://twitter.com'}.merge(consumer_options)) end - def request_token - @request_token ||= consumer.get_request_token + def set_callback_url(url) + clear_request_token + request_token(:oauth_callback => url) end - def authorize_from_request(rtoken, rsecret) + # Note: If using oauth with a web app, be sure to provide :oauth_callback. + # Options: + # :oauth_callback => String, url that twitter should redirect to + def request_token(options={}) + @request_token ||= consumer.get_request_token(options) + end + + # For web apps use params[:oauth_verifier], for desktop apps, + # use the verifier is the pin that twitter gives users. + def authorize_from_request(rtoken, rsecret, verifier_or_pin) request_token = ::OAuth::RequestToken.new(consumer, rtoken, rsecret) - access_token = request_token.get_access_token + access_token = request_token.get_access_token(:oauth_verifier => verifier_or_pin) @atoken, @asecret = access_token.token, access_token.secret end def access_token @access_token ||= ::OAuth::AccessToken.new(consumer, @atoken, @asecret) end def authorize_from_access(atoken, asecret) @atoken, @asecret = atoken, asecret end + + private + def clear_request_token + @request_token = nil + end end end \ No newline at end of file