mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Remove Relation#& alias for Relation#merge
This commit is contained in:
committed by
Aaron Patterson
parent
7eb554bdb1
commit
fbd917f50a
@@ -166,7 +166,7 @@ module ActiveRecord
|
||||
end
|
||||
|
||||
def scoped
|
||||
target_scope & @association_scope
|
||||
target_scope.merge(@association_scope)
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
@@ -6,7 +6,7 @@ module ActiveRecord
|
||||
protected
|
||||
|
||||
def target_scope
|
||||
super & @reflection.through_reflection.klass.scoped
|
||||
super.merge(@reflection.through_reflection.klass.scoped)
|
||||
end
|
||||
|
||||
def association_scope
|
||||
|
||||
@@ -61,8 +61,6 @@ module ActiveRecord
|
||||
merged_relation
|
||||
end
|
||||
|
||||
alias :& :merge
|
||||
|
||||
# Removes from the query the condition(s) specified in +skips+.
|
||||
#
|
||||
# Example:
|
||||
|
||||
@@ -227,7 +227,7 @@ class MethodScopingTest < ActiveRecord::TestCase
|
||||
end
|
||||
|
||||
def test_scoped_create_with_join_and_merge
|
||||
(Comment.where(:body => "but Who's Buying?").joins(:post) & Post.where(:body => 'Peace Sells...')).with_scope do
|
||||
Comment.where(:body => "but Who's Buying?").joins(:post).merge(Post.where(:body => 'Peace Sells...')).with_scope do
|
||||
assert_equal({:body => "but Who's Buying?"}, Comment.scoped.scope_for_create)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -488,8 +488,8 @@ class DefaultScopingTest < ActiveRecord::TestCase
|
||||
end
|
||||
|
||||
def test_create_with_merge
|
||||
aaron = (PoorDeveloperCalledJamis.create_with(:name => 'foo', :salary => 20) &
|
||||
PoorDeveloperCalledJamis.create_with(:name => 'Aaron')).new
|
||||
aaron = PoorDeveloperCalledJamis.create_with(:name => 'foo', :salary => 20).merge(
|
||||
PoorDeveloperCalledJamis.create_with(:name => 'Aaron')).new
|
||||
assert_equal 20, aaron.salary
|
||||
assert_equal 'Aaron', aaron.name
|
||||
|
||||
|
||||
@@ -545,17 +545,17 @@ class RelationTest < ActiveRecord::TestCase
|
||||
end
|
||||
|
||||
def test_relation_merging
|
||||
devs = Developer.where("salary >= 80000") & Developer.limit(2) & Developer.order('id ASC').where("id < 3")
|
||||
devs = Developer.where("salary >= 80000").merge(Developer.limit(2)).merge(Developer.order('id ASC').where("id < 3"))
|
||||
assert_equal [developers(:david), developers(:jamis)], devs.to_a
|
||||
|
||||
dev_with_count = Developer.limit(1) & Developer.order('id DESC') & Developer.select('developers.*')
|
||||
dev_with_count = Developer.limit(1).merge(Developer.order('id DESC')).merge(Developer.select('developers.*'))
|
||||
assert_equal [developers(:poor_jamis)], dev_with_count.to_a
|
||||
end
|
||||
|
||||
def test_relation_merging_with_eager_load
|
||||
relations = []
|
||||
relations << (Post.order('comments.id DESC') & Post.eager_load(:last_comment) & Post.scoped)
|
||||
relations << (Post.eager_load(:last_comment) & Post.order('comments.id DESC') & Post.scoped)
|
||||
relations << Post.order('comments.id DESC').merge(Post.eager_load(:last_comment)).merge(Post.scoped)
|
||||
relations << Post.eager_load(:last_comment).merge(Post.order('comments.id DESC')).merge(Post.scoped)
|
||||
|
||||
relations.each do |posts|
|
||||
post = posts.find { |p| p.id == 1 }
|
||||
@@ -564,18 +564,18 @@ class RelationTest < ActiveRecord::TestCase
|
||||
end
|
||||
|
||||
def test_relation_merging_with_locks
|
||||
devs = Developer.lock.where("salary >= 80000").order("id DESC") & Developer.limit(2)
|
||||
devs = Developer.lock.where("salary >= 80000").order("id DESC").merge(Developer.limit(2))
|
||||
assert_present devs.locked
|
||||
end
|
||||
|
||||
def test_relation_merging_with_preload
|
||||
[Post.scoped & Post.preload(:author), Post.preload(:author) & Post.scoped].each do |posts|
|
||||
[Post.scoped.merge(Post.preload(:author)), Post.preload(:author).merge(Post.scoped)].each do |posts|
|
||||
assert_queries(2) { assert posts.first.author }
|
||||
end
|
||||
end
|
||||
|
||||
def test_relation_merging_with_joins
|
||||
comments = Comment.joins(:post).where(:body => 'Thank you for the welcome') & Post.where(:body => 'Such a lovely day')
|
||||
comments = Comment.joins(:post).where(:body => 'Thank you for the welcome').merge(Post.where(:body => 'Such a lovely day'))
|
||||
assert_equal 1, comments.count
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user