Add ActiveRecord::Base#ids

This commit is contained in:
twinturbo 2012-04-30 09:45:00 -07:00
parent 7d5146efad
commit 93076168c4
2 changed files with 14 additions and 0 deletions

View File

@ -139,6 +139,16 @@ module ActiveRecord
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 = {})

View File

@ -465,4 +465,8 @@ class CalculationsTest < ActiveRecord::TestCase
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