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.



5656
5657
5658
# File 'lib/syntax_tree/node.rb', line 5656

def initialize(lbrace)
  @lbrace = lbrace
end

Instance Attribute Details

#lbraceObject (readonly)

LBrace

the opening brace



5654
5655
5656
# File 'lib/syntax_tree/node.rb', line 5654

def lbrace
  @lbrace
end

Instance Method Details

#format(q) ⇒ Object



5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
# File 'lib/syntax_tree/node.rb', line 5660

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