module BetterCallRedis::ActiveRecord::ClassMethods

Public Class Methods

extended(base) click to toggle source
# 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

Public Instance Methods

better_call_redis_common_deleted_attribute() click to toggle source
# 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_configuration() click to toggle source
# File lib/better_call_redis/active_record.rb, line 38
def better_call_redis_configuration
  BetterCallRedis.configuration
end
better_call_redis_count() click to toggle source
# 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