Module: Sorcery::Model::Submodules::RememberMe

Defined in:
lib/sorcery/model/submodules/remember_me.rb

Overview

The Remember Me submodule takes care of setting the user’s cookie so that he will be automatically logged in to the site on every visit, until the cookie expires.

Defined Under Namespace

Modules: ClassMethods, InstanceMethods

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/sorcery/model/submodules/remember_me.rb', line 8

def self.included(base)
  base.sorcery_config.class_eval do
    attr_accessor :remember_me_token_attribute_name,              # the attribute in the model class.
                  :remember_me_token_expires_at_attribute_name,   # the expires attribute in the model class.
                  :remember_me_for                                # how long in seconds to remember.

  end
  
  base.sorcery_config.instance_eval do
    @defaults.merge!(:@remember_me_token_attribute_name            => :remember_me_token,
                     :@remember_me_token_expires_at_attribute_name => :remember_me_token_expires_at,
                     :@remember_me_for                             => 7 * 60 * 60 * 24)

    reset!
  end
  
  base.send(:include, InstanceMethods)

  base.sorcery_config.after_config << :define_remember_me_mongoid_fields if defined?(Mongoid) and base.ancestors.include?(Mongoid::Document)
  if defined?(MongoMapper) and base.ancestors.include?(MongoMapper::Document)
    base.sorcery_config.after_config << :define_remember_me_mongo_mapper_fields
  end
  
  base.extend(ClassMethods)
end