Class: Lkml::Visitors::BasicTransformer
- Inherits:
-
Object
- Object
- Lkml::Visitors::BasicTransformer
- Includes:
- Tree::Visitor
- Defined in:
- lib/lkml/visitors.rb
Instance Method Summary collapse
- #_visit_items(node) ⇒ Object
- #visit(document) ⇒ Object
- #visit_block(node) ⇒ Object
- #visit_container(node) ⇒ Object
- #visit_list(node) ⇒ Object
- #visit_pair(node) ⇒ Object
- #visit_token(token) ⇒ Object
Instance Method Details
#_visit_items(node) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/lkml/visitors.rb', line 54 def _visit_items(node) ch = node.children return node unless ch && !ch.empty? new_children = ch.map { |child| child.accept(self) } case node when Tree::ContainerNode, Tree::ListNode node.with(items: new_children.freeze) else node end end |
#visit(document) ⇒ Object
67 68 69 70 71 |
# File 'lib/lkml/visitors.rb', line 67 def visit(document) return document unless document.container document.with(container: document.container.accept(self)) end |
#visit_block(node) ⇒ Object
81 82 83 84 85 |
# File 'lib/lkml/visitors.rb', line 81 def visit_block(node) return node unless node.container node.with(container: node.container.accept(self)) end |
#visit_container(node) ⇒ Object
73 74 75 |
# File 'lib/lkml/visitors.rb', line 73 def visit_container(node) _visit_items(node) end |
#visit_list(node) ⇒ Object
77 78 79 |
# File 'lib/lkml/visitors.rb', line 77 def visit_list(node) _visit_items(node) end |
#visit_pair(node) ⇒ Object
87 88 89 |
# File 'lib/lkml/visitors.rb', line 87 def visit_pair(node) node end |
#visit_token(token) ⇒ Object
91 92 93 |
# File 'lib/lkml/visitors.rb', line 91 def visit_token(token) token end |