Module: RedisModel::Attribute

Included in:
RedisModel::Adapters::Paperclip
Defined in:
lib/redis_model/attribute.rb

Overview

Public: Implementations for instance-level Redis attributes for specified class.

Example:

class User < ActiveRecord::Base
  includes RedisModel::Attribute

  redis_model_attribute :sign_in_count, :counter
end

user = User.find(1)
user..incr
user..to_i # Now it is set to 1

Defined Under Namespace

Modules: ClassMethods Classes: DefinitionHelper

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



120
121
122
123
124
125
126
# File 'lib/redis_model/attribute.rb', line 120

def self.included(klass)
  klass.extend ClassMethods

  if klass.respond_to?(:after_destroy)
    klass.after_destroy :clear_redis_model_attributes
  end
end

Instance Method Details

#clear_redis_model_attributesObject

Public: Clears attributes defined by RedisModel.

Returns nothing.



131
132
133
134
135
136
137
# File 'lib/redis_model/attribute.rb', line 131

def clear_redis_model_attributes
  RedisModel::Schema.collection.each do |klass, _|
    if klass < RedisModel::BelongedTo && Object.const_get(klass.to_s.deconstantize) >= self.class
      self.send(klass.to_s.demodulize.underscore).del
    end
  end
end