From bb8416d0943f3e797d572d127a2d74103761d947 Mon Sep 17 00:00:00 2001 From: Joshua Cody Date: Sat, 26 Jul 2014 22:27:31 -0500 Subject: Allow for alias omission in aggregate expressions --- lib/arel/expressions.rb | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'lib') diff --git a/lib/arel/expressions.rb b/lib/arel/expressions.rb index fa18f15b67..717cf412ee 100644 --- a/lib/arel/expressions.rb +++ b/lib/arel/expressions.rb @@ -4,24 +4,31 @@ module Arel Nodes::Count.new [self], distinct end - def sum - Nodes::Sum.new [self], Nodes::SqlLiteral.new('sum_id') + def sum(alias_as = "sum_id") + Nodes::Sum.new [self], node_alias(alias_as) end - def maximum - Nodes::Max.new [self], Nodes::SqlLiteral.new('max_id') + def maximum(alias_as = "max_id") + Nodes::Max.new [self], node_alias(alias_as) end - def minimum - Nodes::Min.new [self], Nodes::SqlLiteral.new('min_id') + def minimum(alias_as = "min_id") + Nodes::Min.new [self], node_alias(alias_as) end - def average - Nodes::Avg.new [self], Nodes::SqlLiteral.new('avg_id') + def average(alias_as = "avg_id") + Nodes::Avg.new [self], node_alias(alias_as) end def extract field Nodes::Extract.new [self], field end + + private + + def node_alias(alias_as) + alias_as.nil? ? nil : Nodes::SqlLiteral.new(alias_as) + end + end end -- cgit v1.2.3 From 712c002af51700d128eb45996687600bb20c75a7 Mon Sep 17 00:00:00 2001 From: Joshua Cody Date: Thu, 31 Jul 2014 07:49:57 -0500 Subject: Remove default aliases from aggregate functions --- lib/arel/expressions.rb | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'lib') diff --git a/lib/arel/expressions.rb b/lib/arel/expressions.rb index 717cf412ee..d40268c292 100644 --- a/lib/arel/expressions.rb +++ b/lib/arel/expressions.rb @@ -4,31 +4,25 @@ module Arel Nodes::Count.new [self], distinct end - def sum(alias_as = "sum_id") - Nodes::Sum.new [self], node_alias(alias_as) + def sum + Nodes::Sum.new [self] end - def maximum(alias_as = "max_id") - Nodes::Max.new [self], node_alias(alias_as) + def maximum + Nodes::Max.new [self] end - def minimum(alias_as = "min_id") - Nodes::Min.new [self], node_alias(alias_as) + def minimum + Nodes::Min.new [self] end - def average(alias_as = "avg_id") - Nodes::Avg.new [self], node_alias(alias_as) + def average + Nodes::Avg.new [self] end def extract field Nodes::Extract.new [self], field end - private - - def node_alias(alias_as) - alias_as.nil? ? nil : Nodes::SqlLiteral.new(alias_as) - end - end end -- cgit v1.2.3