Module: Kasket::WriteMixin

Defined in:
lib/kasket/write_mixin.rb

Defined Under Namespace

Modules: ClassMethods, InstanceMethods

Class Method Summary collapse

Class Method Details

.included(model_class) ⇒ Object



126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# 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