aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2012-04-22 09:49:56 +0200
committerJon Leighton <j@jonathanleighton.com>2012-04-25 15:45:05 +0100
commite8cdb3d5e73c1be3d551f55602de7f5c34d43c42 (patch)
tree99a8ddd229cd0a4af1c06177b74149b311b3f4ef
parentf3fce59d13ddf89b79d4819b3290404ba792d049 (diff)
downloadrails-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.rb2
-rw-r--r--activerecord/test/cases/relation_test.rb6
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