Module: Chimera::RedisObjects::ClassMethods
- Defined in:
- lib/chimera/redis_objects.rb
Instance Method Summary collapse
- #defined_redis_objects ⇒ Object
-
#redis_object(name, type = :string, extra_opts = {}) ⇒ Object
available types include: string, set, zset, list, counter.
Instance Method Details
#defined_redis_objects ⇒ Object
9 10 11 |
# File 'lib/chimera/redis_objects.rb', line 9 def defined_redis_objects @defined_redis_objects || {} end |
#redis_object(name, type = :string, extra_opts = {}) ⇒ Object
available types include:
string, set, zset, list, counter
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/chimera/redis_objects.rb', line 15 def redis_object(name, type = :string, extra_opts={}) @defined_redis_objects ||= {} @defined_redis_objects[name.to_sym] = [type, extra_opts] define_method("#{name}") do @redis_objects ||= {} case type when :string then @redis_objects[name.to_sym] = Chimera::RedisObjectProxy::String.new(self, name, extra_opts) when :set then @redis_objects[name.to_sym] = Chimera::RedisObjectProxy::Set.new(self, name, extra_opts) when :zset then @redis_objects[name.to_sym] = Chimera::RedisObjectProxy::ZSet.new(self, name, extra_opts) when :list then @redis_objects[name.to_sym] = Chimera::RedisObjectProxy::List.new(self, name, extra_opts) when :counter then @redis_objects[name.to_sym] = Chimera::RedisObjectProxy::Counter.new(self, name, extra_opts) end end end |