module ActiveRecord::Acts::List::NoUpdate
Public Class Methods
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
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
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
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
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
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
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