Class: AQL::Node

Inherits:
Object
  • Object
show all
Includes:
AbstractType, Adamantium
Defined in:
lib/aql/node.rb,
lib/aql/node/call.rb,
lib/aql/node/name.rb,
lib/aql/node/null.rb,
lib/aql/node/block.rb,
lib/aql/node/literal.rb,
lib/aql/node/operator.rb,
lib/aql/node/attribute.rb,
lib/aql/node/operation.rb,
lib/aql/node/operation/for.rb,
lib/aql/node/operator/nary.rb,
lib/aql/node/operation/nary.rb,
lib/aql/node/operator/unary.rb,
lib/aql/node/operation/limit.rb,
lib/aql/node/operation/unary.rb,
lib/aql/node/operator/binary.rb,
lib/aql/node/literal/composed.rb,
lib/aql/node/operation/binary.rb,
lib/aql/node/operator/ternary.rb,
lib/aql/node/literal/primitive.rb,
lib/aql/node/literal/singleton.rb,
lib/aql/node/operator/assignment.rb,
lib/aql/node/literal/composed/list.rb,
lib/aql/node/literal/primitive/number.rb,
lib/aql/node/literal/primitive/string.rb,
lib/aql/node/literal/composed/document.rb

Overview

Abstract base class for AQL nodes

Direct Known Subclasses

Attribute, Block, Call, Literal, Name, Operation, Operator

Defined Under Namespace

Classes: Attribute, Block, Call, Literal, Name, Operation, Operator

Constant Summary collapse

NULL =

Null node that does not emit anything

Class.new(self) do

private

  # Perform emit on buffer
  #
  # @param [Buffer] buffer
  #
  # @return [undefined]
  #
  # @api private
  #
  def emit(_buffer)
  end

end.new

Instance Method Summary collapse

Instance Method Details

#aqlString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return source representation

Returns:

  • (String)


12
13
14
15
16
# File 'lib/aql/node.rb', line 12

def aql
  emitter = Buffer.new
  emit(emitter)
  emitter.content
end

#visit(buffer) ⇒ self

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Visit node

Parameters:

Returns:

  • (self)


27
28
29
30
# File 'lib/aql/node.rb', line 27

def visit(buffer)
  emit(buffer)
  self
end