Class: SyntaxTree::DotFormatter

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

Overview

Responsible for formatting Dot2 and Dot3 nodes.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(operator, node) ⇒ DotFormatter

Returns a new instance of DotFormatter.



4298
4299
4300
4301
# File 'lib/syntax_tree/node.rb', line 4298

def initialize(operator, node)
  @operator = operator
  @node = node
end

Instance Attribute Details

#nodeObject (readonly)

[Dot2 | Dot3] the node that is being formatter



4296
4297
4298
# File 'lib/syntax_tree/node.rb', line 4296

def node
  @node
end

#operatorObject (readonly)

[String] the operator to display



4293
4294
4295
# File 'lib/syntax_tree/node.rb', line 4293

def operator
  @operator
end

Instance Method Details

#format(q) ⇒ Object



4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
# File 'lib/syntax_tree/node.rb', line 4303

def format(q)
  space = [If, IfMod, Unless, UnlessMod].include?(q.parent.class)

  left = node.left
  right = node.right

  q.format(left) if left
  q.text(" ") if space
  q.text(operator)
  q.text(" ") if space
  q.format(right) if right
end