module ActiveRecord::Acts::List::NoUpdate

def act_as_list_no_update?

def act_as_list_no_update?
  NoUpdate.applied_to?(self.class)
end

def applied_to?(klass)

def applied_to?(klass)
  klasses.any? { |k| k >= klass }
end

def apply_to(klass)

def apply_to(klass)
  klasses.push(klass)
  yield
ensure
  klasses.pop
end

def klasses

def klasses
  Thread.current[:act_as_list_no_update] ||= []
end