Class: Seaquel::AST::Expression

Inherits:
Object
  • Object
show all
Defined in:
lib/seaquel/ast/expression.rb

Overview

Base class for all expression-type AST nodes.

Direct Known Subclasses

Binding, Column, Funcall, Immediate, Literal

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.binop(op) ⇒ Object



6
7
8
9
10
# File 'lib/seaquel/ast/expression.rb', line 6

def self.binop op
  define_method(op) do |exp|
    BinOp.new(op, self, exp)
  end
end

Instance Method Details

#as(name) ⇒ Object



24
25
26
# File 'lib/seaquel/ast/expression.rb', line 24

def as name
  Alias.new(name, self)
end

#ascObject



28
29
30
# File 'lib/seaquel/ast/expression.rb', line 28

def asc
  Order.new(:asc, self)
end

#descObject



31
32
33
# File 'lib/seaquel/ast/expression.rb', line 31

def desc
  Order.new(:desc, self)
end