class Herb::AST::ERBCaseNode
def initialize(type, location, errors, tag_opening, content, tag_closing, children, conditions, else_clause, end_node)
def initialize(type, location, errors, tag_opening, content, tag_closing, children, conditions, else_clause, end_node) super(type, location, errors) @tag_opening = tag_opening @content = content @tag_closing = tag_closing @children = children @conditions = conditions @else_clause = else_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, children: children, conditions: conditions, else_clause: else_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 += "├── children: " output += inspect_array(children, prefix: "│ ") output += "├── conditions: " output += inspect_array(conditions, prefix: "│ ") 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 += "└── 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