From 3d6176fded424a2195e399d031e343bbcd0edcad Mon Sep 17 00:00:00 2001 From: Hendy Tanata Date: Tue, 28 Mar 2017 18:53:58 -0700 Subject: Load only needed records on ActiveRecord::Relation#inspect Instead of loading all records and returning only a subset of those, just load the records as needed. Fixes #25537. --- activerecord/lib/active_record/relation.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'activerecord/lib/active_record/relation.rb') diff --git a/activerecord/lib/active_record/relation.rb b/activerecord/lib/active_record/relation.rb index 2d6b21bec5..5775eda5a5 100644 --- a/activerecord/lib/active_record/relation.rb +++ b/activerecord/lib/active_record/relation.rb @@ -635,7 +635,9 @@ module ActiveRecord end def inspect - entries = records.take([limit_value, 11].compact.min).map!(&:inspect) + subject = loaded? ? records : self + entries = subject.take([limit_value, 11].compact.min).map!(&:inspect) + entries[10] = "..." if entries.size == 11 "#<#{self.class.name} [#{entries.join(', ')}]>" -- cgit v1.2.3