module ActiveRedis::Persistence
Public Class Methods
included(base)
click to toggle source
# File lib/active_redis/persistence.rb, line 4 def self.included(base) base.extend ClassMethods end
new(attrs = {})
click to toggle source
# File lib/active_redis/persistence.rb, line 8 def initialize(attrs = {}) self.attributes = attrs end
Public Instance Methods
clear_expire()
click to toggle source
# File lib/active_redis/persistence.rb, line 40 def clear_expire expire -1 end
destroy()
click to toggle source
# File lib/active_redis/persistence.rb, line 16 def destroy ActiveRedis.connection.destroy self.class, self.id end
expire(seconds)
click to toggle source
# File lib/active_redis/persistence.rb, line 36 def expire(seconds) ActiveRedis.connection.expire_record self.class, self.id, seconds end
reload()
click to toggle source
# File lib/active_redis/persistence.rb, line 25 def reload if self.class.respond_to? :associations self.class.associations.each { |key, assoc| assoc.reload(self) } end true end
save()
click to toggle source
# File lib/active_redis/persistence.rb, line 12 def save ActiveRedis.connection.save_table self.class, prepare_hash end
touch()
click to toggle source
# File lib/active_redis/persistence.rb, line 32 def touch save end
update(attrs = {})
click to toggle source
# File lib/active_redis/persistence.rb, line 20 def update(attrs = {}) self.attributes = attrs self.save end
Private Instance Methods
fill_attributes()
click to toggle source
# File lib/active_redis/persistence.rb, line 46 def fill_attributes self.id ||= ActiveRedis.connection.next_id(self.class) self.created_at ||= Time.now self.updated_at = Time.now end
prepare_hash()
click to toggle source
# File lib/active_redis/persistence.rb, line 52 def prepare_hash fill_attributes self.class.attributes_list.inject({}) do |hash, attribute| hash[attribute.to_sym] = self.instance_variable_get("@#{attribute}"); hash end end