Permalink
Browse files

Merge pull request #6091 from twinturbo/add-ids

Add ActiveRecord::Base#ids - Close #5812
  • Loading branch information...
2 parents c435feb + 9307616 commit 69c2307a7d48a3ab64a161fbf1d3fd20675e3f38 @wycats wycats committed Apr 30, 2012
@@ -139,6 +139,16 @@ def pluck(column_name)
end
end
+ # Pluck all the ID's for the relation using the table's primary key
+ #
+ # Examples:
+ #
+ # Person.ids # SELECT people.id FROM people
+ # Person.joins(:companies).ids # SELECT people.id FROM PEOPLE INNER JOIN companies ON companies.person_id = people.id
+ def ids
+ pluck primary_key
+ end
+
private
def perform_calculation(operation, column_name, options = {})
@@ -465,4 +465,8 @@ def test_pluck_not_auto_table_name_prefix_if_column_joined
Company.create!(:name => "test", :contracts => [Contract.new(:developer_id => 7)])
assert_equal [7], Company.joins(:contracts).pluck(:developer_id)
end
+
+ def test_plucks_with_ids
+ assert_equal Company.all.map(&:id), Company.ids
+ end
end

0 comments on commit 69c2307

Please sign in to comment.