class ActiveRedis::Associations::Association

Public Class Methods

new(name, target, options = {}) click to toggle source
# File lib/active_redis/associations/association.rb, line 6
def initialize(name, target, options = {})
  @name, @target = name, target
  define_read_association
  define_write_association
end

Public Instance Methods

reload(object) click to toggle source
# File lib/active_redis/associations/association.rb, line 12
def reload(object)
  object.send :instance_variable_set, "@assoc_#{@name}", nil
end

Private Instance Methods

define_read_association() click to toggle source
# File lib/active_redis/associations/association.rb, line 18
      def define_read_association
        @target.class_eval <<-CODE
          def #{@name}
            @assoc_#{@name} ||= self.class.association(:#{@name}).read(self)
          end
        CODE
      end
define_write_association() click to toggle source
# File lib/active_redis/associations/association.rb, line 26
      def define_write_association
        @target.class_eval <<-CODE
          def #{@name}=(value)
            @assoc_#{@name} = value
          end
        CODE
      end