Class: SyntaxTree::ArrayLiteral::QWordsFormatter
- Inherits:
-
Object
- Object
- SyntaxTree::ArrayLiteral::QWordsFormatter
- Defined in:
- lib/syntax_tree/node.rb
Overview
Formats an array of multiple simple string literals into the %w syntax.
Instance Attribute Summary collapse
-
#contents ⇒ Object
readonly
- Args
-
the contents of the array.
Instance Method Summary collapse
- #format(q) ⇒ Object
-
#initialize(contents) ⇒ QWordsFormatter
constructor
A new instance of QWordsFormatter.
Constructor Details
#initialize(contents) ⇒ QWordsFormatter
Returns a new instance of QWordsFormatter.
798 799 800 |
# File 'lib/syntax_tree/node.rb', line 798 def initialize(contents) @contents = contents end |
Instance Attribute Details
#contents ⇒ Object (readonly)
- Args
-
the contents of the array
796 797 798 |
# File 'lib/syntax_tree/node.rb', line 796 def contents @contents end |
Instance Method Details
#format(q) ⇒ Object
802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 |
# File 'lib/syntax_tree/node.rb', line 802 def format(q) q.group(0, "%w[", "]") do q.indent do q.breakable("") q.seplist(contents.parts, -> { q.breakable }) do |part| if part.is_a?(StringLiteral) q.format(part.parts.first) else q.text(part.value[1..]) end end end q.breakable("") end end |