Class: SyntaxTree::Undef::UndefArgumentFormatter

Inherits:
Object
  • Object
show all
Defined in:
lib/syntax_tree/node.rb

Overview

Undef accepts a variable number of arguments that can be either DynaSymbol or SymbolLiteral objects. For SymbolLiteral objects we descend directly into the value in order to have it come out as bare words.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(node) ⇒ UndefArgumentFormatter



11065
11066
11067
# File 'lib/syntax_tree/node.rb', line 11065

def initialize(node)
  @node = node
end

Instance Attribute Details

#nodeObject (readonly)

DynaSymbol | SymbolLiteral

the symbol to undefine



11063
11064
11065
# File 'lib/syntax_tree/node.rb', line 11063

def node
  @node
end

Instance Method Details

#commentsObject



11069
11070
11071
11072
11073
11074
11075
# File 'lib/syntax_tree/node.rb', line 11069

def comments
  if node.is_a?(SymbolLiteral)
    node.comments + node.value.comments
  else
    node.comments
  end
end

#format(q) ⇒ Object



11077
11078
11079
# File 'lib/syntax_tree/node.rb', line 11077

def format(q)
  node.is_a?(SymbolLiteral) ? q.format(node.value) : q.format(node)
end