class Herb::AST::ERBEnsureNode
def initialize(type, location, errors, tag_opening, content, tag_closing, statements)
def initialize(type, location, errors, tag_opening, content, tag_closing, statements) super(type, location, errors) @tag_opening = tag_opening @content = content @tag_closing = tag_closing @statements = statements end
def inspect
def inspect tree_inspect.rstrip.gsub(/\s+$/, "") end
def to_hash
def to_hash super.merge({ tag_opening: tag_opening, content: content, tag_closing: tag_closing, statements: statements, }) end
def tree_inspect(indent = 0)
def tree_inspect(indent = 0) output = +"" output += "@ #{node_name} " output += location.tree_inspect output += "\n" output += inspect_errors(prefix: "│ ") output += "├── tag_opening: " output += tag_opening ? tag_opening.tree_inspect : "∅" output += "\n" output += "├── content: " output += content ? content.tree_inspect : "∅" output += "\n" output += "├── tag_closing: " output += tag_closing ? tag_closing.tree_inspect : "∅" output += "\n" output += "└── statements: " output += inspect_array(statements, prefix: " ") output += "\n" output.gsub(/^/, " " * indent) end