aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2010-01-18 12:50:20 +0530
committerPratik Naik <pratiknaik@gmail.com>2010-01-18 18:56:55 +0530
commit8bb527464845071ee72bcbcddcf860d4af1eda32 (patch)
treeb39c99ffa16ab5ed260363bbf9e6355f1d887a1a /activerecord
parent8ba2902dd4c3e9a3715130c499d78c4fc79fbf16 (diff)
downloadrails-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.rb16
-rw-r--r--activerecord/test/cases/method_scoping_test.rb6
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