From 8467be9e142b0eb75b9007ca9510592ab11368b5 Mon Sep 17 00:00:00 2001 From: Ryan Wallace Date: Fri, 30 Aug 2013 16:16:38 -0700 Subject: [PATCH] Don't use Enumerable#next in pluck since it is very slow --- activerecord/lib/active_record/relation/calculations.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/activerecord/lib/active_record/relation/calculations.rb b/activerecord/lib/active_record/relation/calculations.rb index 52a538e5b5d55..27c04b0952a5f 100644 --- a/activerecord/lib/active_record/relation/calculations.rb +++ b/activerecord/lib/active_record/relation/calculations.rb @@ -161,8 +161,7 @@ def pluck(*column_names) result = result.map do |attributes| values = klass.initialize_attributes(attributes).values - iter = columns.each - values.map { |value| iter.next.type_cast value } + columns.zip(values).map { |column, value| column.type_cast value } end columns.one? ? result.map!(&:first) : result end