module ActiveRecord::Acts::List::NoUpdate

Public Class Methods

applied_to?(klass) click to toggle source
# File lib/acts_as_list/active_record/acts/no_update.rb, line 98
def applied_to?(klass)
  !(klass.ancestors & extracted_klasses.keys).empty?
end
apply_to(klasses) { || ... } click to toggle source
# File lib/acts_as_list/active_record/acts/no_update.rb, line 91
def apply_to(klasses)
  klasses.map {|klass| add_klass(klass)}
  yield
ensure
  klasses.map {|klass| remove_klass(klass)}
end
included(base) click to toggle source
# File lib/acts_as_list/active_record/acts/no_update.rb, line 8
def self.included(base)
  base.extend ClassMethods
end

Private Class Methods

add_klass(klass) click to toggle source
# File lib/acts_as_list/active_record/acts/no_update.rb, line 108
def add_klass(klass)
  extracted_klasses[klass] = 0 unless extracted_klasses.key?(klass)
  extracted_klasses[klass] += 1
end
extracted_klasses() click to toggle source
# File lib/acts_as_list/active_record/acts/no_update.rb, line 104
def extracted_klasses
  Thread.current[:act_as_list_no_update] ||= {}
end
remove_klass(klass) click to toggle source
# File lib/acts_as_list/active_record/acts/no_update.rb, line 113
def remove_klass(klass)
  extracted_klasses[klass] -= 1
  extracted_klasses.delete(klass) if extracted_klasses[klass] <= 0
end

Public Instance Methods

act_as_list_no_update?() click to toggle source
# File lib/acts_as_list/active_record/acts/no_update.rb, line 119
def act_as_list_no_update?
  NoUpdate.applied_to?(self.class)
end