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