Module: Redis::Objects::Values::ClassMethods

Defined in:
lib/redis/objects/values.rb

Overview

Class methods that appear in your class when you include Redis::Objects.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#valuesObject (readonly)

Returns the value of attribute values.



15
16
17
# File 'lib/redis/objects/values.rb', line 15

def values
  @values
end

Instance Method Details

#value(name, options = {}) ⇒ Object

Define a new simple value. It will function like a regular instance method, so it can be used alongside ActiveRecord, DataMapper, etc.



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/redis/objects/values.rb', line 19

def value(name, options={})
  @values[name] = options
  class_eval <<-EndMethods
    def #{name}
      @#{name} ||= Redis::Value.new(field_key(:#{name}), redis, self.class.values[:#{name}])
    end
    def #{name}=(value)
      #{name}.value = value
    end
  EndMethods
end