927: def count(runtime_conditions = nil)
928: if @options[:counter_sql]
929: @association_class.count(@counter_sql)
930: elsif @options[:finder_sql]
931: @association_class.count(@finder_sql)
932: else
933: sql = if runtime_conditions
934: runtime_conditions = @association_class.build_conditions_from_options(:conditions => runtime_conditions)
935: lambda{|rec| runtime_conditions[rec] && @finder_sql[rec, @owner] }
936: else
937: @finder_sql
938: end
939: @association_class.count(sql)
940: end
941: end