aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation/predicate_builder.rb
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2012-01-14 17:53:52 +0000
committerJon Leighton <j@jonathanleighton.com>2012-01-16 21:17:17 +0000
commitee7f66603573fd441f1522cc73ec0b7f56c4d1af (patch)
tree5eb727b65af37d296425bfbb0412786d55d01e10 /activerecord/lib/active_record/relation/predicate_builder.rb
parent4429f16c0ada896fe3753324f0201b290c6425d9 (diff)
downloadrails-ee7f66603573fd441f1522cc73ec0b7f56c4d1af.tar.gz
rails-ee7f66603573fd441f1522cc73ec0b7f56c4d1af.tar.bz2
rails-ee7f66603573fd441f1522cc73ec0b7f56c4d1af.zip
automatically add references when we can
Diffstat (limited to 'activerecord/lib/active_record/relation/predicate_builder.rb')
-rw-r--r--activerecord/lib/active_record/relation/predicate_builder.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/relation/predicate_builder.rb b/activerecord/lib/active_record/relation/predicate_builder.rb
index 88081edae2..1d04e763f6 100644
--- a/activerecord/lib/active_record/relation/predicate_builder.rb
+++ b/activerecord/lib/active_record/relation/predicate_builder.rb
@@ -21,6 +21,18 @@ module ActiveRecord
predicates.flatten
end
+ def self.references(attributes)
+ references = attributes.map do |key, value|
+ if value.is_a?(Hash)
+ key
+ else
+ key = key.to_s
+ key.split('.').first.to_sym if key.include?('.')
+ end
+ end
+ references.compact
+ end
+
private
def self.build(attribute, value)
case value