method
custom_counter_sql
v3.2.13 -
Show latest stable
- Class:
ActiveRecord::Associations::CollectionAssociation
custom_counter_sql()private
No documentation available.
# File activerecord/lib/active_record/associations/collection_association.rb, line 360
def custom_counter_sql
if options[:counter_sql]
interpolate(options[:counter_sql])
else
# replace the SELECT clause with COUNT(SELECTS), preserving any hints within /* ... */
interpolate(options[:finder_sql]).sub(/SELECT\b(\/\*.*?\*\/ )?(.*)\bFROM\b/m) do
count_with = $2.to_s
count_with = '*' if count_with.blank? || count_with =~ /,/ || count_with =~ /\.\*/
"SELECT #{$1}COUNT(#{count_with}) FROM"
end
end
end