Class: PrettyPrint::Text
- Inherits:
-
Object
- Object
- PrettyPrint::Text
- Defined in:
- lib/syntax_tree/prettyprint.rb
Overview
A node in the print tree that represents plain content that cannot be broken up (by default this assumes strings, but it can really be anything).
Instance Attribute Summary collapse
-
#objects ⇒ Object
readonly
Returns the value of attribute objects.
-
#width ⇒ Object
readonly
Returns the value of attribute width.
Instance Method Summary collapse
- #add(object: "", width: object.length) ⇒ Object
-
#initialize ⇒ Text
constructor
A new instance of Text.
- #pretty_print(q) ⇒ Object
Constructor Details
#initialize ⇒ Text
Returns a new instance of Text.
237 238 239 240 |
# File 'lib/syntax_tree/prettyprint.rb', line 237 def initialize @objects = [] @width = 0 end |
Instance Attribute Details
#objects ⇒ Object (readonly)
Returns the value of attribute objects.
235 236 237 |
# File 'lib/syntax_tree/prettyprint.rb', line 235 def objects @objects end |
#width ⇒ Object (readonly)
Returns the value of attribute width.
235 236 237 |
# File 'lib/syntax_tree/prettyprint.rb', line 235 def width @width end |
Instance Method Details
#add(object: "", width: object.length) ⇒ Object
242 243 244 245 |
# File 'lib/syntax_tree/prettyprint.rb', line 242 def add(object: "", width: object.length) @objects << object @width += width end |
#pretty_print(q) ⇒ Object
247 248 249 250 251 |
# File 'lib/syntax_tree/prettyprint.rb', line 247 def pretty_print(q) q.group(2, "text([", "])") do q.seplist(objects) { |object| q.pp(object) } end end |