aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2015-12-17 17:23:41 -0200
committerRafael França <rafaelmfranca@gmail.com>2015-12-17 17:23:41 -0200
commit0167e1d2fbdda9e0783fe1e114f5267bdd431383 (patch)
treea36041a4fd516a51cb8ca6c213482e11bde349e1
parent8f9d2398cc37101d7fd54def998e344021fa6892 (diff)
parent1aecf8b41ca3f238cb41c03902dacc8a5e3039f4 (diff)
downloadrails-0167e1d2fbdda9e0783fe1e114f5267bdd431383.tar.gz
rails-0167e1d2fbdda9e0783fe1e114f5267bdd431383.tar.bz2
rails-0167e1d2fbdda9e0783fe1e114f5267bdd431383.zip
Merge pull request #381 from carsonreinke/function_order
Add OrderPredications back into Nodes::Function
-rw-r--r--lib/arel/nodes/function.rb1
-rw-r--r--test/nodes/test_sum.rb9
2 files changed, 10 insertions, 0 deletions
diff --git a/lib/arel/nodes/function.rb b/lib/arel/nodes/function.rb
index 733a00df46..182dfa7329 100644
--- a/lib/arel/nodes/function.rb
+++ b/lib/arel/nodes/function.rb
@@ -3,6 +3,7 @@ module Arel
class Function < Arel::Nodes::Node
include Arel::Predications
include Arel::WindowPredications
+ include Arel::OrderPredications
attr_accessor :expressions, :alias, :distinct
def initialize expr, aliaz = nil
diff --git a/test/nodes/test_sum.rb b/test/nodes/test_sum.rb
index d65cd31d4b..d387e7f9ef 100644
--- a/test/nodes/test_sum.rb
+++ b/test/nodes/test_sum.rb
@@ -21,4 +21,13 @@ describe Arel::Nodes::Sum do
assert_equal 2, array.uniq.size
end
end
+
+ describe 'order' do
+ it 'should order the sum' do
+ table = Arel::Table.new :users
+ table[:id].sum.desc.to_sql.must_be_like %{
+ SUM("users"."id") DESC
+ }
+ end
+ end
end