app/models/effective/effective_datatable/csv.rb in effective_datatables-4.13.2 vs app/models/effective/effective_datatable/csv.rb in effective_datatables-4.13.3
- old
+ new
@@ -34,23 +34,27 @@
def csv_stream
EffectiveResources.with_resource_enumerator do |lines|
lines << CSV.generate_line(csv_header)
- collection.public_send(csv_collection_method) do |resources|
- resources = arrayize(resources, csv: true)
+ if active_record_collection?
+ collection.find_in_batches do |resources|
+ resources = arrayize(resources, csv: true)
+ format(resources, csv: true)
+ finalize(resources)
+
+ resources.each { |resource| lines << CSV.generate_line(resource) }
+ end
+ else
+ resources = collection
+
format(resources, csv: true)
finalize(resources)
resources.each { |resource| lines << CSV.generate_line(resource) }
end
- end
- end
- private
-
- def csv_collection_method
- (active_record_collection? ? :find_in_batches : :to_a)
+ end
end
end
end
end