diff options
author | Pratik Naik <pratiknaik@gmail.com> | 2010-01-18 12:50:20 +0530 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2010-01-18 18:56:55 +0530 |
commit | 8bb527464845071ee72bcbcddcf860d4af1eda32 (patch) | |
tree | b39c99ffa16ab5ed260363bbf9e6355f1d887a1a /activerecord | |
parent | 8ba2902dd4c3e9a3715130c499d78c4fc79fbf16 (diff) | |
download | rails-8bb527464845071ee72bcbcddcf860d4af1eda32.tar.gz rails-8bb527464845071ee72bcbcddcf860d4af1eda32.tar.bz2 rails-8bb527464845071ee72bcbcddcf860d4af1eda32.zip |
Get rid of Relation#order_clauses
Diffstat (limited to 'activerecord')
-rw-r--r-- | activerecord/lib/active_record/relation.rb | 16 | ||||
-rw-r--r-- | activerecord/test/cases/method_scoping_test.rb | 6 |
2 files changed, 9 insertions, 13 deletions
diff --git a/activerecord/lib/active_record/relation.rb b/activerecord/lib/active_record/relation.rb index 1d6fced952..4ed118b02d 100644 --- a/activerecord/lib/active_record/relation.rb +++ b/activerecord/lib/active_record/relation.rb @@ -50,14 +50,14 @@ module ActiveRecord @records = if find_with_associations begin options = { - :select => @select_values.any? ? @select_values.join(", ") : nil, + :select => @select_values.join(", "), :joins => arel.joins(arel), - :group => @group_values.any? ? @group_values.join(", ") : nil, - :order => order_clause, + :group => @group_values.join(", "), + :order => @order_values.join(', '), :conditions => where_clause, - :limit => arel.taken, - :offset => arel.skipped, - :from => (arel.send(:from_clauses) if arel.send(:sources).present?) + :limit => @limit_value, + :offset => @offset_value, + :from => @from_value } including = (@eager_load_values + @includes_values).uniq @@ -185,10 +185,6 @@ module ActiveRecord arel.send(:where_clauses).join(join_string) end - def order_clause - @order_clause ||= arel.send(:order_clauses).join(', ') - end - def references_eager_loaded_tables? joined_tables = (tables_in_string(arel.joins(arel)) + [table.name, table.table_alias]).compact.uniq (tables_in_string(to_sql) - joined_tables).any? diff --git a/activerecord/test/cases/method_scoping_test.rb b/activerecord/test/cases/method_scoping_test.rb index a502b50c3e..7ca5b5a988 100644 --- a/activerecord/test/cases/method_scoping_test.rb +++ b/activerecord/test/cases/method_scoping_test.rb @@ -608,7 +608,7 @@ class DefaultScopingTest < ActiveRecord::TestCase def test_default_scoping_with_threads 2.times do - Thread.new { assert_equal 'salary DESC', DeveloperOrderedBySalary.scoped.send(:order_clause) }.join + Thread.new { assert_equal ['salary DESC'], DeveloperOrderedBySalary.scoped.order_values }.join end end @@ -618,10 +618,10 @@ class DefaultScopingTest < ActiveRecord::TestCase klass.send :default_scope, {} # Scopes added on children should append to parent scope - assert klass.scoped.send(:order_clause).blank? + assert klass.scoped.order_values.blank? # Parent should still have the original scope - assert_equal 'salary DESC', DeveloperOrderedBySalary.scoped.send(:order_clause) + assert_equal ['salary DESC'], DeveloperOrderedBySalary.scoped.order_values end def test_method_scope |