module ActiveRecord::CounterCache
def _create_record(attribute_names = self.attribute_names)
def _create_record(attribute_names = self.attribute_names) id = super counter_cached_association_names.each do |association_name| association(association_name).increment_counters end id end
def _foreign_keys_equal?(fkey1, fkey2)
def _foreign_keys_equal?(fkey1, fkey2) fkey1 == fkey2 || Array(fkey1).map(&:to_sym) == Array(fkey2).map(&:to_sym) end
def destroy_row
def destroy_row affected_rows = super if affected_rows > 0 counter_cached_association_names.each do |association_name| association = association(association_name) unless destroyed_by_association && _foreign_keys_equal?(destroyed_by_association.foreign_key, association.reflection.foreign_key) association.decrement_counters end end end affected_rows end