diff options
author | Jon Leighton <j@jonathanleighton.com> | 2012-04-22 09:49:56 +0200 |
---|---|---|
committer | Jon Leighton <j@jonathanleighton.com> | 2012-04-25 15:45:05 +0100 |
commit | e8cdb3d5e73c1be3d551f55602de7f5c34d43c42 (patch) | |
tree | 99a8ddd229cd0a4af1c06177b74149b311b3f4ef | |
parent | f3fce59d13ddf89b79d4819b3290404ba792d049 (diff) | |
download | rails-e8cdb3d5e73c1be3d551f55602de7f5c34d43c42.tar.gz rails-e8cdb3d5e73c1be3d551f55602de7f5c34d43c42.tar.bz2 rails-e8cdb3d5e73c1be3d551f55602de7f5c34d43c42.zip |
allow merging a single where value
-rw-r--r-- | activerecord/lib/active_record/relation/merger.rb | 2 | ||||
-rw-r--r-- | activerecord/test/cases/relation_test.rb | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/relation/merger.rb b/activerecord/lib/active_record/relation/merger.rb index 1c2a06328f..52cf0b7077 100644 --- a/activerecord/lib/active_record/relation/merger.rb +++ b/activerecord/lib/active_record/relation/merger.rb @@ -85,7 +85,7 @@ module ActiveRecord def merged_wheres if values[:where] - merged_wheres = relation.where_values + values[:where] + merged_wheres = relation.where_values + Array(values[:where]) unless relation.where_values.empty? # Remove duplicates, last one wins. diff --git a/activerecord/test/cases/relation_test.rb b/activerecord/test/cases/relation_test.rb index 9ef703fd9b..d1fb3e01d2 100644 --- a/activerecord/test/cases/relation_test.rb +++ b/activerecord/test/cases/relation_test.rb @@ -156,6 +156,12 @@ module ActiveRecord relation = Relation.new(:a, :b, where: [:foo]) assert_equal [:foo], relation.where_values end + + test 'merging a single where value' do + relation = Relation.new(:a, :b) + relation.merge!(where: :foo) + assert_equal [:foo], relation.where_values + end end class RelationMutationTest < ActiveSupport::TestCase |