module Kasket::WriteMixin

Public Class Methods

included(model_class) click to toggle source
# File lib/kasket/write_mixin.rb, line 126
def self.included(model_class)
  model_class.extend         ClassMethods
  model_class.send :include, InstanceMethods

  unless model_class.method_defined?(:kasket_cacheable?)
    model_class.send(:alias_method, :kasket_cacheable?, :default_kasket_cacheable?)
  end

  model_class.after_save :kasket_after_save
  model_class.after_destroy :kasket_after_destroy
  model_class.after_commit :kasket_after_commit_dummy

  class << model_class
    alias_method :transaction_without_kasket_disabled, :transaction
    alias_method :transaction, :transaction_with_kasket_disabled

    alias_method :update_counters_without_kasket_clearing, :update_counters
    alias_method :update_counters, :update_counters_with_kasket_clearing
  end
end