Advertisement
Guest User

Untitled

a guest
Jun 17th, 2011
663
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rails 1.25 KB | None | 0 0
  1. module ApplicationHelper
  2.   # How To: Create a guest user
  3.   # https://github.com/plataformatec/devise/wiki/How-To:-Create-a-guest-user
  4.  
  5.   # if user is logged in, return current_user, else return guest_user
  6.   def current_or_guest_user
  7.    
  8.     Rails.logger.info 'ApplicationHelper - current_or_guest_user'
  9.    
  10.     if current_user
  11.       if session[:guest_user_id]
  12.         logging_in
  13.         guest_user.destroy
  14.         session[:guest_user_id] = nil
  15.       end
  16.       current_user
  17.     else
  18.       guest_user
  19.     end
  20.   end
  21.  
  22.   # find guest_user object associated with the current session,
  23.   # creating one as needed
  24.   def guest_user
  25.  
  26.     Rails.logger.info 'ApplicationHelper - guest_user'
  27.  
  28.     guest_user_id = session[:guest_user_id] ||= User.create(:name => "guest").id
  29.     User.find(guest_user_id)
  30.   end
  31.  
  32.   # called (once) when the user logs in, insert any code your application needs
  33.   # to hand off from guest_user to current_user.
  34.   def logging_in
  35.     Rails.logger.info 'ApplicationHelper - logging_in'
  36.   end
  37. end
  38.  
  39.  
  40.  
  41. class ChatController < ApplicationController
  42.     # Sign In Required - Devise Check
  43.         # before_filter :authenticate_user!
  44.  
  45.   def show
  46.     # Make sure view is a member
  47.     user = current_or_guest_user
  48. ......
  49.  
  50. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement