Sha256: 816133365ff5344961a584708c6bfbadb0df876167a29e1d410ef7c717e98d57

Contents?: true

Size: 1.24 KB

Versions: 1

Compression:

Stored size: 1.24 KB

Contents

class <%= session_plural_class_name %>Controller < ApplicationController
<%- if options[:authlogic] -%>
  def new
    @<%= session_singular_name %> = <%= session_class_name %>.new
  end

  def create
    @<%= session_singular_name %> = <%= session_class_name %>.new(params[:<%= session_singular_name %>])
    if @<%= session_singular_name %>.save
      flash[:notice] = "Logged in successfully."
      redirect_to_target_or_default("/")
    else
      render :action => 'new'
    end
  end

  def destroy
    @<%= session_singular_name %> = <%= session_class_name %>.find
    @<%= session_singular_name %>.destroy
    flash[:notice] = "You have been logged out."
    redirect_to "/"
  end
<%- else -%>
  def new
  end

  def create
    <%= user_singular_name %> = <%= user_class_name %>.authenticate(params)
    if <%= user_singular_name %>
      session[:<%= user_singular_name %>_id] = <%= user_singular_name %>.id
      flash[:notice] = "Logged in successfully."
      redirect_to_target_or_default("/")
    else
      flash.now[:error] = "Invalid login or password."
      render :action => 'new'
    end
  end

  def destroy
    session[:<%= user_singular_name %>_id] = nil
    flash[:notice] = "You have been logged out."
    redirect_to "/"
  end
<%- end -%>
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
seivan-generators-0.5 lib/generators/seivan/authentication/templates/sessions_controller.rb