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.



5606
5607
5608
# File 'lib/syntax_tree/node.rb', line 5606

def initialize(lbrace)
  @lbrace = lbrace
end

Instance Attribute Details

#lbraceObject (readonly)

LBrace

the opening brace



5604
5605
5606
# File 'lib/syntax_tree/node.rb', line 5604

def lbrace
  @lbrace
end

Instance Method Details

#format(q) ⇒ Object



5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
# File 'lib/syntax_tree/node.rb', line 5610

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