class Wongi::Engine::DSL::Clause::Aggregate

Attributes

aggregate[R]
map[R]
over[R]
partition[R]
var[R]

Public Class Methods

new(var, options = {}) click to toggle source
# File lib/wongi-engine/dsl/clause/aggregate.rb, line 6
def initialize(var, options = {})
  @var = var
  @over = options[:over]
  @partition = Array(options[:partition])
  @aggregate = options[:using]
  @map = options[:map]
  raise "can only partition by variables" unless partition.all? { |p| Template.variable?(p) }
end

Public Instance Methods

compile(context) click to toggle source
# File lib/wongi-engine/dsl/clause/aggregate.rb, line 15
def compile(context)
  context.tap { |c| c.aggregate_node(var, over, partition, aggregate, map) }
end