1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Merge pull request #19755 from yuki24/activerecord/support-for-set

Add support for Set to Relation#where
This commit is contained in:
Yves Senn 2015-04-14 08:55:10 +02:00
commit 524d40591e
3 changed files with 15 additions and 0 deletions

View file

@ -1,3 +1,7 @@
* Add support for `Set` to `Relation#where`.
*Yuki Nishijima*
* Fixed a bug where uniqueness validations would error on out of range values, * Fixed a bug where uniqueness validations would error on out of range values,
even if an validation should have prevented it from hitting the database. even if an validation should have prevented it from hitting the database.

View file

@ -20,6 +20,7 @@ module ActiveRecord
register_handler(Range, RangeHandler.new(self)) register_handler(Range, RangeHandler.new(self))
register_handler(Relation, RelationHandler.new) register_handler(Relation, RelationHandler.new)
register_handler(Array, ArrayHandler.new(self)) register_handler(Array, ArrayHandler.new(self))
register_handler(Set, ArrayHandler.new(self))
register_handler(AssociationQueryValue, AssociationQueryHandler.new(self)) register_handler(AssociationQueryValue, AssociationQueryHandler.new(self))
end end

View file

@ -848,6 +848,16 @@ class RelationTest < ActiveRecord::TestCase
} }
end end
def test_find_all_using_where_with_a_set
david = authors(:david)
mary = authors(:mary)
set = Set.new([david.id, mary.id])
assert_queries(1) {
assert_equal [david, mary], Author.where(id: set).to_a
}
end
def test_exists def test_exists
davids = Author.where(:name => 'David') davids = Author.where(:name => 'David')
assert davids.exists? assert davids.exists?