lib/sorcery/model/submodules/remember_me.rb in sorcery-0.8.5 vs lib/sorcery/model/submodules/remember_me.rb in sorcery-0.8.6
- old
+ new
@@ -10,26 +10,29 @@
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
-
+ if defined?(DataMapper) and base.ancestors.include?(DataMapper::Resource)
+ base.sorcery_config.after_config << :define_remember_me_datamapper_fields
+ end
+
base.extend(ClassMethods)
end
module ClassMethods
protected
@@ -41,10 +44,22 @@
def define_remember_me_mongo_mapper_fields
key sorcery_config.remember_me_token_attribute_name, String
key sorcery_config.remember_me_token_expires_at_attribute_name, Time
end
+
+ def define_remember_me_datamapper_fields
+ property sorcery_config.remember_me_token_attribute_name, String
+ property sorcery_config.remember_me_token_expires_at_attribute_name, Time
+ [sorcery_config.remember_me_token_expires_at_attribute_name].each do |sym|
+ alias_method "orig_#{sym}", sym
+ define_method(sym) do
+ t = send("orig_#{sym}")
+ t && Time.new(t.year, t.month, t.day, t.hour, t.min, t.sec, 0)
+ end
+ end
+ end
end
module InstanceMethods
# You shouldn't really use this one yourself - it's called by the controller's 'remember_me!' method.
def remember_me!
@@ -61,6 +76,6 @@
end
end
end
end
end
-end
\ No newline at end of file
+end