Module: WeBridgeRailsEngineUsers::ApplicationController
- Defined in:
- lib/we_bridge_rails_engine_users/application_controller.rb
Class Method Summary collapse
Instance Method Summary collapse
- #check_current_user(user, message = nil) ⇒ Object
- #current_user ⇒ Object
- #logged_in? ⇒ Boolean
- #login_required ⇒ Object
- #set_user!(id = nil) ⇒ Object
- #set_user_id(user_id) ⇒ Object
Class Method Details
.included(application_controller) ⇒ Object
3 4 5 6 7 8 9 10 |
# File 'lib/we_bridge_rails_engine_users/application_controller.rb', line 3 def self.included(application_controller) application_controller.helper_method :current_user, :logged_in? application_controller.before_action do I18n.available_locales = Lang.all.pluck(:code).map(&:to_sym) # I18n.locale = I18n.default_locale I18n.locale = current_user.lang.code if logged_in? end end |
Instance Method Details
#check_current_user(user, message = nil) ⇒ Object
27 28 29 30 31 |
# File 'lib/we_bridge_rails_engine_users/application_controller.rb', line 27 def check_current_user(user,=nil) if !(current_user && user == current_user) raise WeBridge::Exceptions::ForbiddenError end end |
#current_user ⇒ Object
37 38 39 40 41 42 43 44 |
# File 'lib/we_bridge_rails_engine_users/application_controller.rb', line 37 def current_user uid = session[:user_id] if @current_user && uid.to_i != @current_user.id @current_user = nil end @current_user ||= User.find_by(id: uid) if uid @current_user end |
#logged_in? ⇒ Boolean
18 19 20 |
# File 'lib/we_bridge_rails_engine_users/application_controller.rb', line 18 def logged_in? !!current_user end |
#login_required ⇒ Object
12 13 14 15 16 |
# File 'lib/we_bridge_rails_engine_users/application_controller.rb', line 12 def login_required if !current_user raise WeBridge::Exceptions::UnauthorizedError end end |
#set_user!(id = nil) ⇒ Object
33 34 35 |
# File 'lib/we_bridge_rails_engine_users/application_controller.rb', line 33 def set_user!(id=nil) @user = User.find(id || params[:user_id] || params[:id]) end |
#set_user_id(user_id) ⇒ Object
22 23 24 25 |
# File 'lib/we_bridge_rails_engine_users/application_controller.rb', line 22 def set_user_id(user_id) session[:user_id] = user_id current_user end |