diff options
author | Pratik Naik <pratiknaik@gmail.com> | 2008-06-27 02:47:30 +0100 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2008-06-27 02:47:38 +0100 |
commit | 5ca7d01ecaa5e97f724169c0177027d0d85066da (patch) | |
tree | 2833b165a0843629367959e8580a67beebd93093 /activerecord | |
parent | 0b12da44aa35b643b17ab1b61634ff952993e357 (diff) | |
download | rails-5ca7d01ecaa5e97f724169c0177027d0d85066da.tar.gz rails-5ca7d01ecaa5e97f724169c0177027d0d85066da.tar.bz2 rails-5ca7d01ecaa5e97f724169c0177027d0d85066da.zip |
Cache sanitized conditions in reflection object for associations
Diffstat (limited to 'activerecord')
-rw-r--r-- | activerecord/lib/active_record/associations/association_proxy.rb | 2 | ||||
-rw-r--r-- | activerecord/lib/active_record/reflection.rb | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/associations/association_proxy.rb b/activerecord/lib/active_record/associations/association_proxy.rb index b4908eec9d..77fc827e11 100644 --- a/activerecord/lib/active_record/associations/association_proxy.rb +++ b/activerecord/lib/active_record/associations/association_proxy.rb @@ -85,7 +85,7 @@ module ActiveRecord end def conditions - @conditions ||= interpolate_sql(sanitize_sql(@reflection.options[:conditions])) if @reflection.options[:conditions] + @conditions ||= interpolate_sql(@reflection.sanitized_conditions) if @reflection.sanitized_conditions end alias :sql_conditions :conditions diff --git a/activerecord/lib/active_record/reflection.rb b/activerecord/lib/active_record/reflection.rb index 8614ef8751..3f74c03714 100644 --- a/activerecord/lib/active_record/reflection.rb +++ b/activerecord/lib/active_record/reflection.rb @@ -112,6 +112,10 @@ module ActiveRecord name == other_aggregation.name && other_aggregation.options && active_record == other_aggregation.active_record end + def sanitized_conditions #:nodoc: + @sanitized_conditions ||= klass.send(:sanitize_sql, options[:conditions]) if options[:conditions] + end + private def derive_class_name name.to_s.camelize |