aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/models
diff options
context:
space:
mode:
authorPaul Nikitochkin <paul.nikitochkin@gmail.com>2013-08-24 19:12:05 +0300
committerPaul Nikitochkin <paul.nikitochkin@gmail.com>2013-09-13 16:37:10 +0300
commitfbbb6c87fd5e8fcd913c0dbf518024edd7538072 (patch)
tree0663c678b8a52e45de6eb2e86d8ead0d65fb543f /activerecord/test/models
parent97a19c6b4b71d1e12d62d880ec8c8eed357b3d3c (diff)
downloadrails-fbbb6c87fd5e8fcd913c0dbf518024edd7538072.tar.gz
rails-fbbb6c87fd5e8fcd913c0dbf518024edd7538072.tar.bz2
rails-fbbb6c87fd5e8fcd913c0dbf518024edd7538072.zip
Collapse where constraints to one where constraint
In order to remove duplication with joining arel where constraints with `AND`, all constraints on `build_arel` are collapsed into one head node: `Arel::Nodes::And` Closes: #11963
Diffstat (limited to 'activerecord/test/models')
-rw-r--r--activerecord/test/models/author.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/activerecord/test/models/author.rb b/activerecord/test/models/author.rb
index feb828de31..5d20389331 100644
--- a/activerecord/test/models/author.rb
+++ b/activerecord/test/models/author.rb
@@ -31,6 +31,13 @@ class Author < ActiveRecord::Base
has_many :thinking_posts, -> { where(:title => 'So I was thinking') }, :dependent => :delete_all, :class_name => 'Post'
has_many :welcome_posts, -> { where(:title => 'Welcome to the weblog') }, :class_name => 'Post'
+ has_many :welcome_posts_with_comment,
+ -> { where(title: 'Welcome to the weblog').where('comments_count = ?', 1) },
+ class_name: 'Post'
+ has_many :welcome_posts_with_comments,
+ -> { where(title: 'Welcome to the weblog').where(Post.arel_table[:comments_count].gt(0)) },
+ class_name: 'Post'
+
has_many :comments_desc, -> { order('comments.id DESC') }, :through => :posts, :source => :comments
has_many :limited_comments, -> { limit(1) }, :through => :posts, :source => :comments
has_many :funky_comments, :through => :posts, :source => :comments