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.



5674
5675
5676
# File 'lib/syntax_tree/node.rb', line 5674

def initialize(lbrace)
  @lbrace = lbrace
end

Instance Attribute Details

#lbraceObject (readonly)

LBrace

the opening brace



5672
5673
5674
# File 'lib/syntax_tree/node.rb', line 5672

def lbrace
  @lbrace
end

Instance Method Details

#format(q) ⇒ Object



5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
# File 'lib/syntax_tree/node.rb', line 5678

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