diff options
Diffstat (limited to 'lib/arel/nodes')
-rw-r--r-- | lib/arel/nodes/count.rb | 3 | ||||
-rw-r--r-- | lib/arel/nodes/function.rb | 3 | ||||
-rw-r--r-- | lib/arel/nodes/named_function.rb | 12 |
3 files changed, 14 insertions, 4 deletions
diff --git a/lib/arel/nodes/count.rb b/lib/arel/nodes/count.rb index c6e19afb34..5c8ade1cf9 100644 --- a/lib/arel/nodes/count.rb +++ b/lib/arel/nodes/count.rb @@ -1,9 +1,6 @@ module Arel module Nodes class Count < Arel::Nodes::Function - - attr_accessor :distinct - def initialize expr, distinct = false, aliaz = nil super(expr, aliaz) @distinct = distinct diff --git a/lib/arel/nodes/function.rb b/lib/arel/nodes/function.rb index e4e45bff31..b58eba7f38 100644 --- a/lib/arel/nodes/function.rb +++ b/lib/arel/nodes/function.rb @@ -2,11 +2,12 @@ module Arel module Nodes class Function < Arel::Nodes::Node include Arel::Expression - attr_accessor :expressions, :alias + attr_accessor :expressions, :alias, :distinct def initialize expr, aliaz = nil @expressions = expr @alias = aliaz + @distinct = false end def as aliaz diff --git a/lib/arel/nodes/named_function.rb b/lib/arel/nodes/named_function.rb new file mode 100644 index 0000000000..56669bf858 --- /dev/null +++ b/lib/arel/nodes/named_function.rb @@ -0,0 +1,12 @@ +module Arel + module Nodes + class NamedFunction < Arel::Nodes::Function + attr_accessor :name + + def initialize name, expr, aliaz = nil + super(expr, aliaz) + @name = name + end + end + end +end |