Class: SQLParser::Statement::Node
- Inherits:
-
Object
- Object
- SQLParser::Statement::Node
show all
- Defined in:
- lib/sql-parser/statement.rb
Direct Known Subclasses
Aggregate, All, ApproximateFloat, Arithmetic, As, BetweenRange, ComparisonPredicate, CurrentUser, DirectSelect, Distinct, Exists, False, FromClause, GroupByClause, HavingClause, Identifier, InColumnList, InValueList, IndexHint, Insert, JoinedTable, LimitClause, Literal, Null, On, OrderBy, OrderClause, OrderSpecification, QualifiedColumn, SearchCondition, Select, SelectList, Subquery, TableExpression, True, Unary, Using, WhereClause
Instance Method Summary
collapse
Instance Method Details
#accept(visitor) ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/sql-parser/statement.rb', line 7
def accept(visitor)
klass = self.class.ancestors.find do |ancestor|
visitor.respond_to?("visit_#{demodulize(ancestor.name)}")
end
if klass
visitor.__send__("visit_#{demodulize(klass.name)}", self)
else
raise "No visitor for #{self.class.name}"
end
end
|
#to_sql ⇒ Object
19
20
21
|
# File 'lib/sql-parser/statement.rb', line 19
def to_sql
SQLVisitor.new.visit(self)
end
|