class Curlybars::Visitor
Attributes
context[RW]
Public Class Methods
new(context)
click to toggle source
# File lib/curlybars/visitor.rb, line 7 def initialize(context) @context = context end
Public Instance Methods
accept(node)
click to toggle source
# File lib/curlybars/visitor.rb, line 11 def accept(node) visit(node) context end
Private Instance Methods
visit(node)
click to toggle source
# File lib/curlybars/visitor.rb, line 18 def visit(node) class_name = node.class.name.to_s return unless class_name.start_with?('Curlybars::Node') method_name = class_name.demodulize.underscore send("visit_#{method_name}", node) end
visit_block_helper_else(node)
click to toggle source
# File lib/curlybars/visitor.rb, line 26 def visit_block_helper_else(node) node.arguments.each { |arg| visit(arg) } node.options.each { |opt| visit(opt) } visit(node.helper) visit(node.helper_template) visit(node.else_template) end
visit_boolean(_node)
click to toggle source
# File lib/curlybars/visitor.rb, line 34 def visit_boolean(_node) end
visit_each_else(node)
click to toggle source
# File lib/curlybars/visitor.rb, line 37 def visit_each_else(node) visit(node.path) visit(node.each_template) visit(node.else_template) end
visit_if_else(node)
click to toggle source
# File lib/curlybars/visitor.rb, line 43 def visit_if_else(node) visit(node.expression) visit(node.if_template) visit(node.else_template) end
visit_item(node)
click to toggle source
# File lib/curlybars/visitor.rb, line 49 def visit_item(node) visit(node.item) end
visit_literal(_node)
click to toggle source
# File lib/curlybars/visitor.rb, line 53 def visit_literal(_node) end
visit_option(node)
click to toggle source
# File lib/curlybars/visitor.rb, line 56 def visit_option(node) visit(node.expression) end
visit_output(node)
click to toggle source
# File lib/curlybars/visitor.rb, line 60 def visit_output(node) visit(node.value) end
visit_partial(node)
click to toggle source
# File lib/curlybars/visitor.rb, line 64 def visit_partial(node) visit(node.path) end
visit_path(_node)
click to toggle source
# File lib/curlybars/visitor.rb, line 68 def visit_path(_node) end
visit_root(node)
click to toggle source
# File lib/curlybars/visitor.rb, line 71 def visit_root(node) visit(node.template) end
visit_string(_node)
click to toggle source
# File lib/curlybars/visitor.rb, line 75 def visit_string(_node) end
visit_sub_expression(node)
click to toggle source
# File lib/curlybars/visitor.rb, line 78 def visit_sub_expression(node) visit(node.helper) node.arguments.each { |argument| visit(argument) } node.options.each { |option| visit(option) } end
visit_template(node)
click to toggle source
# File lib/curlybars/visitor.rb, line 84 def visit_template(node) node.items.each { |item| visit(item) } end
visit_text(_node)
click to toggle source
# File lib/curlybars/visitor.rb, line 88 def visit_text(_node) end
visit_unless_else(node)
click to toggle source
# File lib/curlybars/visitor.rb, line 91 def visit_unless_else(node) visit(node.expression) visit(node.unless_template) visit(node.else_template) end
visit_variable(_node)
click to toggle source
# File lib/curlybars/visitor.rb, line 97 def visit_variable(_node) end
visit_with_else(node)
click to toggle source
# File lib/curlybars/visitor.rb, line 100 def visit_with_else(node) visit(node.path) visit(node.with_template) visit(node.else_template) end