Class: SyntaxTree::HashLiteral::EmptyWithCommentsFormatter

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

Overview

This is a special formatter used if the hash literal contains no values but does contain comments. In this case we do some special formatting to make sure the comments gets indented properly.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(lbrace) ⇒ EmptyWithCommentsFormatter

Returns a new instance of EmptyWithCommentsFormatter.



5551
5552
5553
# File 'lib/syntax_tree/node.rb', line 5551

def initialize(lbrace)
  @lbrace = lbrace
end

Instance Attribute Details

#lbraceObject (readonly)

LBrace

the opening brace



5549
5550
5551
# File 'lib/syntax_tree/node.rb', line 5549

def lbrace
  @lbrace
end

Instance Method Details

#format(q) ⇒ Object



5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
# File 'lib/syntax_tree/node.rb', line 5555

def format(q)
  q.group do
    q.text("{")
    q.indent do
      lbrace.comments.each do |comment|
        q.breakable_force
        comment.format(q)
      end
    end
    q.breakable_force
    q.text("}")
  end
end