Sha256: 311bb231440ca2b71c8e4b3fea9de734a2d7b1a49a8e2d72e365d3182f09435b

Contents?: true

Size: 1.45 KB

Versions: 10

Compression:

Stored size: 1.45 KB

Contents

module Authentication
  def self.included(controller)
    controller.send :helper_method, :current_<%= user_singular_name %>, :logged_in?, :redirect_to_target_or_default
    controller.filter_parameter_logging :password, :password_confirmation
  end

  def current_<%= user_singular_name %>_session
    return @current_<%= user_singular_name %>_session if defined?(@current_<%= user_singular_name %>_session)
    @current_<%= user_singular_name %>_session = <%= session_class_name %>.find
  end
 
  def current_<%= user_singular_name %>
    return @current_<%= user_singular_name %> if defined?(@current_<%= user_singular_name %>)
    @current_<%= user_singular_name %> = current_<%= user_singular_name %>_session && current_<%= user_singular_name %>_session.record
  end

  def logged_in?
    current_<%= user_singular_name %>
  end

  def require_login
    unless logged_in?
      store_target_location
      redirect_to login_url
      return false
    end
  end

  def require_logout
    if logged_in?
      store_target_location
      flash[:notice] = t("application.require_user")
      redirect_to root_url
      return false
    end
  end

  def permission_denied
    flash[:error] = t("application.permission_denied")
    redirect_to root_url
  end

  def redirect_to_target_or_default(default)
    redirect_to(session[:return_to] || default)
    session[:return_to] = nil
  end

  private
    def store_target_location
      session[:return_to] = request.request_uri
    end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
mondo-generators-0.6.9 rails_generators/mondo_authentication/templates/authentication.rb
mondo-generators-0.6.8 rails_generators/mondo_authentication/templates/authentication.rb
mondo-generators-0.6.7 rails_generators/mondo_authentication/templates/authentication.rb
mondo-generators-0.6.5 rails_generators/mondo_authentication/templates/authentication.rb
mondo-generators-0.6.4 rails_generators/mondo_authentication/templates/authentication.rb
mondo-generators-0.6.3 rails_generators/mondo_authentication/templates/authentication.rb
mondo-generators-0.6.2 rails_generators/mondo_authentication/templates/authentication.rb
mondo-generators-0.6.1 rails_generators/mondo_authentication/templates/authentication.rb
mondo-generators-0.6.0 rails_generators/mondo_authentication/templates/authentication.rb
mondo-generators-0.5.0 rails_generators/mondo_authentication/templates/authentication.rb