Sha256: ce95a32b38cdd7336d5c6ad1506d101a50a664ac77b275c290a061234024d400
Contents?: true
Size: 1.3 KB
Versions: 1
Compression:
Stored size: 1.3 KB
Contents
module Authorizme module ForControllers extend ActiveSupport::Concern included do end module ClassMethods def require_user params = nil before_filter :require_user, params end end def current_user return @current_user if defined? @current_users @current_user ||= User.find session[:user_id] if session[:user_id] end def login user if current_user another_user_logged_in user else session[:user_id] = user.id end end def run_require_user unless current_user not_logged_in_status end end def method_missing(meth, *args, &block) if meth.to_s =~ /^require_(.+)$/ if $1 == "user" run_require_user else run_require_role($1, *args, &block) end else super end end def run_require_role(role, *args, &block) unless current_user && current_user.role.name == role not_logged_in_status end end def not_logged_in_status if Authorizme::remote status = {status: "not_logged_in"} respond_with status else redirect_to "/#{Authorizme::namespace}/" end end end end ActionController::Base.send :include, Authorizme::ForControllers
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
authorizme-0.0.3 | lib/authorizme/for_controllers.rb |