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 97 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 90 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 7 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 107 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 103 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 112 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 118 def act_as_list_no_update? NoUpdate.applied_to?(self.class) end