Sha256: 120f785ce745cc4c7651eea3b2a8f721cd6e437e596c84cbc01fca474126ccb7
Contents?: true
Size: 1.39 KB
Versions: 3
Compression:
Stored size: 1.39 KB
Contents
module AQL class Node class Operation # Base class for unary operations class Unary < self include Concord.new(:expression) private # Emit node # # @param [Buffer] buffer # # @return [undefined] # # @api private # def emit(buffer) buffer.append("#{keyword} ") expression.visit(buffer) end # Return keyword # # @return [Symbol] # # @api private # def keyword self.class::KEYWORD end # Filter operation class Filter < self KEYWORD = :FILTER end # Return operation class Return < self KEYWORD = :RETURN end # Abstract base class for sort orders class Direction < self private # Emit node # # @param [Buffer] buffer # # @return [undefined] # # @api private # def emit(buffer) expression.visit(buffer) buffer.append(" #{keyword}") end # Asecnding sort direction class Ascending < self KEYWORD = :ASC end # Descending sort direction class Descending < self KEYWORD = :DESC end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
aql-0.0.3 | lib/aql/node/operation/unary.rb |
aql-0.0.2 | lib/aql/node/operation/unary.rb |
aql-0.0.1 | lib/aql/node/operation/unary.rb |