class Herb::AST::ERBBeginNode
def initialize(type, location, errors, tag_opening, content, tag_closing, statements, rescue_clause, else_clause, ensure_clause, end_node)
def initialize(type, location, errors, tag_opening, content, tag_closing, statements, rescue_clause, else_clause, ensure_clause, end_node) super(type, location, errors) @tag_opening = tag_opening @content = content @tag_closing = tag_closing @statements = statements @rescue_clause = rescue_clause @else_clause = else_clause @ensure_clause = ensure_clause @end_node = end_node 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, rescue_clause: rescue_clause, else_clause: else_clause, ensure_clause: ensure_clause, end_node: end_node, }) 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 += "├── rescue_clause: " if rescue_clause output += "\n" output += "│ └── " output += rescue_clause.tree_inspect(indent).gsub(/^/, " " * (indent + 1)).lstrip.gsub(/^/, "│ ").delete_prefix("│ ") else output += "∅\n" end output += "├── else_clause: " if else_clause output += "\n" output += "│ └── " output += else_clause.tree_inspect(indent).gsub(/^/, " " * (indent + 1)).lstrip.gsub(/^/, "│ ").delete_prefix("│ ") else output += "∅\n" end output += "├── ensure_clause: " if ensure_clause output += "\n" output += "│ └── " output += ensure_clause.tree_inspect(indent).gsub(/^/, " " * (indent + 1)).lstrip.gsub(/^/, "│ ").delete_prefix("│ ") else output += "∅\n" end output += "└── end_node: " if end_node output += "\n" output += " └── " output += end_node.tree_inspect(indent).gsub(/^/, " " * (indent + 1)).lstrip.gsub(/^/, " ").delete_prefix(" ") else output += "∅\n" end output += "\n" output.gsub(/^/, " " * indent) end