diff options
author | Sean Griffin <sean@thoughtbot.com> | 2015-01-27 10:30:38 -0700 |
---|---|---|
committer | Sean Griffin <sean@thoughtbot.com> | 2015-01-27 10:30:38 -0700 |
commit | d26dd00854c783bcb1249168bb3f4adf9f99be6c (patch) | |
tree | af9cfb9f93d4d66689a19b359bba1625d629350c /activerecord/lib/active_record/relation | |
parent | c2c95cd279c988e7bd94008264e956e30b78c9ec (diff) | |
download | rails-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.rb | 4 |
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) } |