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.



4725
4726
4727
# File 'lib/syntax_tree/node.rb', line 4725

def initialize(lbrace)
  @lbrace = lbrace
end

Instance Attribute Details

#lbraceObject (readonly)

LBrace

the opening brace



4723
4724
4725
# File 'lib/syntax_tree/node.rb', line 4723

def lbrace
  @lbrace
end

Instance Method Details

#format(q) ⇒ Object



4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
# File 'lib/syntax_tree/node.rb', line 4729

def format(q)
  q.group do
    q.text("{")
    q.indent do
      lbrace.comments.each do |comment|
        q.breakable(force: true)
        comment.format(q)
      end
    end
    q.breakable(force: true)
    q.text("}")
  end
end