Module: Janeway::Interpreters::TreeConstructor
- Defined in:
- lib/janeway/interpreters/tree_constructor.rb
Overview
Constructs a tree of interpreter objects.
It is used when an iterator method such as #each has been called to construct the chain of interpreter objects to handle the query.
Defined Under Namespace
Classes: Literal
Class Method Summary collapse
Class Method Details
.ast_node_to_deleter(expr) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/janeway/interpreters/tree_constructor.rb', line 41 def self.ast_node_to_deleter(expr) case expr when AST::IndexSelector then IndexSelectorDeleter.new(expr) when AST::ArraySliceSelector then ArraySliceSelectorDeleter.new(expr) when AST::NameSelector then NameSelectorDeleter.new(expr) when AST::FilterSelector then FilterSelectorDeleter.new(expr) when AST::WildcardSelector then WildcardSelectorDeleter.new(expr) when AST::ChildSegment then ChildSegmentDeleter.new(expr) when AST::RootNode then RootNodeDeleter.new(expr) when nil then nil # caller has no @next node else raise "Unknown AST expression: #{expr.inspect}" end end |