aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation
diff options
context:
space:
mode:
authorSean Griffin <sean@thoughtbot.com>2015-01-27 10:30:38 -0700
committerSean Griffin <sean@thoughtbot.com>2015-01-27 10:30:38 -0700
commitd26dd00854c783bcb1249168bb3f4adf9f99be6c (patch)
treeaf9cfb9f93d4d66689a19b359bba1625d629350c /activerecord/lib/active_record/relation
parentc2c95cd279c988e7bd94008264e956e30b78c9ec (diff)
downloadrails-d26dd00854c783bcb1249168bb3f4adf9f99be6c.tar.gz
rails-d26dd00854c783bcb1249168bb3f4adf9f99be6c.tar.bz2
rails-d26dd00854c783bcb1249168bb3f4adf9f99be6c.zip
`WhereClause#predicates` does not need to be public
The only place it was accessed was in tests. Many of them have another way that they can test their behavior, that doesn't involve reaching into internals as far as they did. `AssociationScopeTest` is testing a situation where the where clause would have one bind param per predicate, so it can just ignore the predicates entirely. The where chain test was primarly duplicating the logic tested on `WhereClause` directly, so I instead just make sure it calls the appropriate method which is fully tested in isolation.
Diffstat (limited to 'activerecord/lib/active_record/relation')
-rw-r--r--activerecord/lib/active_record/relation/where_clause.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/relation/where_clause.rb b/activerecord/lib/active_record/relation/where_clause.rb
index 6c62332609..1a70dc447e 100644
--- a/activerecord/lib/active_record/relation/where_clause.rb
+++ b/activerecord/lib/active_record/relation/where_clause.rb
@@ -1,7 +1,7 @@
module ActiveRecord
class Relation
class WhereClause # :nodoc:
- attr_reader :predicates, :binds
+ attr_reader :binds
delegate :any?, :empty?, to: :predicates
@@ -73,6 +73,8 @@ module ActiveRecord
protected
+ attr_reader :predicates
+
def referenced_columns
@referenced_columns ||= begin
equality_nodes = predicates.select { |n| equality_node?(n) }