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



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/kasket/write_mixin.rb', line 71

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 :clear_kasket_indices
  model_class.after_destroy :clear_kasket_indices

  model_class.alias_method_chain :reload, :kasket_clearing


  class << model_class
    alias_method_chain :transaction, :kasket_disabled
    alias_method_chain :update_counters, :kasket_clearing
  end
end