class OmniAuth::MultiProvider::CallbacksController
Protected Class Methods
create_handler(provider_name)
click to toggle source
# File lib/omniauth/multiprovider/controllers/callbacks_controller.rb, line 7 def self.create_handler(provider_name) provider_class = begin "OmniAuth::Provider::#{provider_name.to_s.camelize}".constantize rescue NameError OmniAuth::Provider::Generic end define_method provider_name do memo_name = "@_#{provider_name}" provider = instance_variable_get memo_name unless provider.present? provider = provider_class.new(self) instance_variable_set memo_name, provider end handle_request provider end end
Protected Instance Methods
handle_provider_error(error)
click to toggle source
# File lib/omniauth/multiprovider/controllers/callbacks_controller.rb, line 33 def handle_provider_error(error) set_flash_message :alert, error.message redirect_to after_sign_in_path_for(resource_name) true end
handle_request(provider)
click to toggle source
# File lib/omniauth/multiprovider/controllers/callbacks_controller.rb, line 25 def handle_request(provider) provider.handle_request rescue OmniAuth::MultiProvider::Error => error raise unless handle_provider_error(error) rescue RuntimeError => error raise unless handle_unexpected_error(error) end
handle_unexpected_error(error)
click to toggle source
# File lib/omniauth/multiprovider/controllers/callbacks_controller.rb, line 39 def handle_unexpected_error(error) false # no explicit handling end