Sha256: 949da20f68c0095279556e0ff0c1b7d46def83079959dec36e3c10b2df9b8a89
Contents?: true
Size: 608 Bytes
Versions: 1
Compression:
Stored size: 608 Bytes
Contents
module HarmonizerRedis class BaseObject attr_accessor :id def generate_id Redis.current.incr("#{self.class}").to_i - 1 end def save #creates a new id only when object is being saved klass = "#{self.class}" new_id = @id || self.generate_id self.instance_variables.each do |variable| var_name = variable.to_s[1..-1] Redis.current.set("#{klass}:#{new_id}:#{var_name}", instance_variable_get(variable)) end @id = new_id #add id to HarmonizerRedis::ClassName:set Redis.current.sadd("#{klass}:set", @id) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
harmonizer_redis-0.1.0 | lib/harmonizer_redis/base_object.rb |