From 763de2ac1c85d3e9f82639783a55244d6c0517c2 Mon Sep 17 00:00:00 2001 From: Benjamin Quorning Date: Fri, 24 Jun 2016 09:49:42 +0200 Subject: Optimize ActiveRecord::Result#last If you only want the last element of a result set, there's no need to create all of hash_rows. Also, add a test. --- activerecord/test/cases/result_test.rb | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'activerecord/test') diff --git a/activerecord/test/cases/result_test.rb b/activerecord/test/cases/result_test.rb index 565593c500..83dc5347e0 100644 --- a/activerecord/test/cases/result_test.rb +++ b/activerecord/test/cases/result_test.rb @@ -27,6 +27,11 @@ module ActiveRecord {'col_1' => 'row 1 col 1', 'col_2' => 'row 1 col 2'}, result.first) end + test "last returns last row as a hash" do + assert_equal( + {'col_1' => 'row 3 col 1', 'col_2' => 'row 3 col 2'}, result.last) + end + test "each with block returns row hashes" do result.each do |row| assert_equal ['col_1', 'col_2'], row.keys -- cgit v1.2.3