Module: BetterCallRedis::ActiveRecord::ClassMethods

Defined in:
lib/better_call_redis/active_record.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(base) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/better_call_redis/active_record.rb', line 31

def self.extended(base)
  base.class_eval do
    before_save   :better_call_redis_logically_delete
    after_create  :better_call_redis_notify_redis_created
    after_destroy :better_call_redis_notify_redis_removed
  end

  def better_call_redis_configuration
    BetterCallRedis.configuration
  end

  def better_call_redis_common_deleted_attribute
    (new.attributes.keys & better_call_redis_configuration.deleted_attributes).first
  end

  def better_call_redis_count
    common_deleted_attribute = better_call_redis_common_deleted_attribute
    return where("#{common_deleted_attribute} != true").count if common_deleted_attribute
    count
  end

end

Instance Method Details

#better_call_redis_common_deleted_attributeObject



42
43
44
# File 'lib/better_call_redis/active_record.rb', line 42

def better_call_redis_common_deleted_attribute
  (new.attributes.keys & better_call_redis_configuration.deleted_attributes).first
end

#better_call_redis_configurationObject



38
39
40
# File 'lib/better_call_redis/active_record.rb', line 38

def better_call_redis_configuration
  BetterCallRedis.configuration
end

#better_call_redis_countObject



46
47
48
49
50
# File 'lib/better_call_redis/active_record.rb', line 46

def better_call_redis_count
  common_deleted_attribute = better_call_redis_common_deleted_attribute
  return where("#{common_deleted_attribute} != true").count if common_deleted_attribute
  count
end