From 9d15b87abdd55f54c0d59e0823583d7aa84cd4b4 Mon Sep 17 00:00:00 2001 From: Felix Jankowski Date: Sat, 21 Feb 2015 20:52:11 +0100 Subject: [PATCH] Allow to register helpers and settings without controllers --- lib/padrino/warden.rb | 6 ++++-- lib/padrino/warden/controller.rb | 2 +- lib/padrino/warden/helpers.rb | 5 +++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/padrino/warden.rb b/lib/padrino/warden.rb index 103ff12..e4113ee 100644 --- a/lib/padrino/warden.rb +++ b/lib/padrino/warden.rb @@ -8,7 +8,7 @@ module Padrino module Warden - def self.registered(app) + def self.registered(app, register_controller = true) # Enable Sessions app.set :sessions, true unless app.sessions app.set :auth_failure_path, '/' @@ -41,7 +41,9 @@ def self.registered(app) app.warden_config manager end - Controller.registered app + if register_controller + Controller.registered app + end app.helpers Helpers end end diff --git a/lib/padrino/warden/controller.rb b/lib/padrino/warden/controller.rb index d44b108..ce74564 100644 --- a/lib/padrino/warden/controller.rb +++ b/lib/padrino/warden/controller.rb @@ -25,7 +25,7 @@ def self.registered(app) post :login , map: app.auth_login_path do authenticate flash[:success] = settings.auth_success_message if flash - redirect settings.auth_use_referrer && session[:return_to] ? session.delete(:return_to) : + redirect settings.auth_use_referrer && session[:return_to] ? session.delete(:return_to) : settings.auth_success_path end diff --git a/lib/padrino/warden/helpers.rb b/lib/padrino/warden/helpers.rb index bc935bb..f93cfde 100644 --- a/lib/padrino/warden/helpers.rb +++ b/lib/padrino/warden/helpers.rb @@ -51,6 +51,11 @@ def user=(new_user, opts={}) warden.set_user(new_user, opts) end alias_method :current_user=, :user= + + # Register the helpers directly without the controller (useful for MultiApp environments) + def self.registered(app) + Padrino::Warden.registered(app, false) + end end # helpers end # Warden end # Padrino