Class: ArelExtensions::Nodes::AggregateFunction

Inherits:
Function
  • Object
show all
Defined in:
lib/arel_extensions/nodes/aggregate_function.rb

Direct Known Subclasses

GroupConcat, Std, Sum, Variance

Constant Summary

Constants inherited from Function

Function::RETURN_TYPE

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Function

#!=, #==, #as, #convert_to_date_node, #convert_to_datetime_node, #convert_to_node, #convert_to_number, #convert_to_string_node, #expr, #left, #return_type, #right, #type_of_attribute

Methods included from Predications

#cast, #convert_to_node, #imatches, #in, #matches, #not_in, #when

Constructor Details

#initialize(node, **opts) ⇒ AggregateFunction

Returns a new instance of AggregateFunction.



6
7
8
9
10
# File 'lib/arel_extensions/nodes/aggregate_function.rb', line 6

def initialize node, **opts
  @order = Array(opts[:order]).map{|e| convert_to_node(e)}
  @group = Array(opts[:group]).map{|e| convert_to_node(e)}
  super [node]
end

Instance Attribute Details

#groupObject

Returns the value of attribute group.



4
5
6
# File 'lib/arel_extensions/nodes/aggregate_function.rb', line 4

def group
  @group
end

#orderObject

Returns the value of attribute order.



4
5
6
# File 'lib/arel_extensions/nodes/aggregate_function.rb', line 4

def order
  @order
end