module Twitter::RailsUtil
Public Class Methods
included(controller)
click to toggle source
Calls superclass method
RestCore::RailsUtilUtil::included
# File lib/rest-core/client/twitter/rails_util.rb, line 18 def self.included controller # skip if included already, any better way to detect this? return if controller.respond_to?(:rc_twitter, true) super controller.rescue_from(RestCore::Twitter::Error::Unauthorized, :with => :rc_twitter_on_unauthorized) end
Public Instance Methods
rc_twitter_check_handler(handler= rc_options_get(RestCore::Twitter, :check_handler))
click to toggle source
# File lib/rest-core/client/twitter/rails_util.rb, line 85 def rc_twitter_check_handler handler= rc_options_get(RestCore::Twitter, :check_handler) return if rc_twitter.authorized? || !handler rc_twitter.data_json = handler.call logger.debug("DEBUG: Twitter: called check_handler, parsed:" \ " #{rc_twitter.data.inspect}") end
rc_twitter_check_oauth_verifier()
click to toggle source
# File lib/rest-core/client/twitter/rails_util.rb, line 72 def rc_twitter_check_oauth_verifier return if !rc_twitter.oauth_callback || !params[:oauth_verifier] rc_twitter.authorize!(:oauth_verifier => params[:oauth_verifier]) rc_twitter.data.delete('oauth_callback') logger.debug( "DEBUG: Twitter: detected oauth_verifier with #{request.url}," \ " parsed: #{rc_twitter.data.inspect}") rc_twitter_write_data_json if rc_twitter.authorized? end
rc_twitter_check_session()
click to toggle source
# File lib/rest-core/client/twitter/rails_util.rb, line 94 def rc_twitter_check_session return if rc_twitter.authorized? || !rc_options_get(RestCore::Twitter, :write_session) || !(data_json = session[rc_twitter_storage_key]) rc_twitter.data_json = data_json logger.debug("DEBUG: Twitter: detected rc_twitter session, parsed:" \ " #{rc_twitter.data.inspect}") end
rc_twitter_cleanup()
click to toggle source
rc_twitter_normalized_request_uri()
click to toggle source
# File lib/rest-core/client/twitter/rails_util.rb, line 150 def rc_twitter_normalized_request_uri URI.parse(request.url).tap{ |uri| uri.query = uri.query.split('&').reject{ |q| q =~ /^(oauth_verifier|oauth_token)\=/ }.join('&') if uri.query uri.query = nil if uri.query.blank? }.to_s end
rc_twitter_setup(options={})
click to toggle source
Calls superclass method
# File lib/rest-core/client/twitter/rails_util.rb, line 26 def rc_twitter_setup options={} super rc_twitter_check_handler rc_twitter_check_session rc_twitter_check_cookies rc_twitter_check_oauth_verifier if rc_options_get(RestCore::Twitter, :ensure_authorized) && !rc_twitter.authorized? rc_twitter_authorize('ensure authorized') false # action halt, redirect to do authorize, # eagerly, as opposed to auto_authorize else true # keep going end end
rc_twitter_storage_key()
click to toggle source
rc_twitter_write_data_json()
click to toggle source
rc_twitter_write_handler(handler= rc_options_get(RestCore::Twitter, :write_handler))
click to toggle source
# File lib/rest-core/client/twitter/rails_util.rb, line 121 def rc_twitter_write_handler handler= rc_options_get(RestCore::Twitter, :write_handler) return if !handler handler.call(data_json = rc_twitter.data_json) logger.debug("DEBUG: Twitter: write_handler: data_json => #{data_json}") end
rc_twitter_write_session()
click to toggle source
# File lib/rest-core/client/twitter/rails_util.rb, line 129 def rc_twitter_write_session return if !rc_options_get(RestCore::Twitter, :write_session) session[rc_twitter_storage_key] = data_json = rc_twitter.data_json logger.debug("DEBUG: Twitter: wrote session: data_json => #{data_json}") end