Module: ActionController::AuthenticateAnonymous::InstanceMethods
- Defined in:
- lib/action_controller/authenticate_anonymous.rb
Instance Method Summary collapse
- #login_anonymous!(anonymous) ⇒ Object
- #login_or_register_anonymous ⇒ Object
- #register_or_update_anonymous(anonymous) ⇒ Object
- #request_info ⇒ Object
- #try_login_anonymous ⇒ Object
Instance Method Details
#login_anonymous!(anonymous) ⇒ Object
54 55 56 57 58 59 60 |
# File 'lib/action_controller/authenticate_anonymous.rb', line 54 def login_anonymous!(anonymous) # set a new session token and expiration token = anonymous.assign_token('anonymous', 3.hour.from_now) anonymous.save session[:anonymous_token] = "#{anonymous.id};#{token}" [:aid] = anonymous.id.to_s unless anonymous.new_record? end |
#login_or_register_anonymous ⇒ Object
36 37 38 39 40 41 |
# File 'lib/action_controller/authenticate_anonymous.rb', line 36 def login_or_register_anonymous anonymous = try_login_anonymous || User.anonymous anonymous = register_or_update_anonymous anonymous if params[:user] login_anonymous! anonymous if anonymous anonymous end |
#register_or_update_anonymous(anonymous) ⇒ Object
48 49 50 51 52 |
# File 'lib/action_controller/authenticate_anonymous.rb', line 48 def register_or_update_anonymous(anonymous) # if :name and :email params are passed either register a new Anonymous or update the existing one anonymous.update params[:user].merge(request_info) anonymous end |
#request_info ⇒ Object
62 63 64 65 66 |
# File 'lib/action_controller/authenticate_anonymous.rb', line 62 def request_info { :ip => request.env["REMOTE_ADDR"], :agent => request.env["HTTP_USER_AGENT"], :referer => request.env["HTTP_REFERER"] } end |