From 9d5a5beb599d60339b63b1febb9a1866cc9253c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Tue, 27 Jul 2010 15:33:18 +0200 Subject: [PATCH] Register helper_methods on demand. --- lib/devise/controllers/helpers.rb | 7 +++++-- lib/devise/oauth/internal_helpers.rb | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/devise/controllers/helpers.rb b/lib/devise/controllers/helpers.rb index 8908696e..21092d7c 100644 --- a/lib/devise/controllers/helpers.rb +++ b/lib/devise/controllers/helpers.rb @@ -5,8 +5,7 @@ module Devise extend ActiveSupport::Concern included do - helper_method :warden, :signed_in?, :devise_controller?, :anybody_signed_in?, - *Devise.mappings.keys.map { |m| [:"current_#{m}", :"#{m}_signed_in?", :"#{m}_session"] }.flatten + helper_method :warden, :signed_in?, :devise_controller?, :anybody_signed_in? end # Define authentication filters and accessor helpers based on mappings. @@ -53,6 +52,10 @@ module Devise current_#{mapping} && warden.session(:#{mapping}) end METHODS + + ActiveSupport.on_load(:action_controller) do + helper_method "current_#{mapping}", "#{mapping}_signed_in?", "#{mapping}_session" + end end # The main accessor for the warden proxy instance diff --git a/lib/devise/oauth/internal_helpers.rb b/lib/devise/oauth/internal_helpers.rb index f62ae651..61b6c6ae 100644 --- a/lib/devise/oauth/internal_helpers.rb +++ b/lib/devise/oauth/internal_helpers.rb @@ -9,7 +9,7 @@ module Devise end included do - helpers = %w(oauth_config) + helpers = %w(oauth_config oauth_callback) hide_action *helpers helper_method *helpers before_filter :valid_oauth_callback?, :oauth_error_happened?