module Kasket::DirtyMixin

Public Instance Methods

kasket_dirty_method(*method_names)
kasket_dirty_methods(*method_names) click to toggle source
# File lib/kasket/dirty_mixin.rb, line 4
def kasket_dirty_methods(*method_names)
  method_names.each do |method|
    without = "without_kasket_update_#{method}"
    break if method_defined? without

    alias_method without, method
    define_method method do |*args, &block|
      result = send(without, *args, &block)
      clear_kasket_indices
      result
    end
  end
end
Also aliased as: kasket_dirty_method