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