class PrettyPrint::Breakable
Attributes
indent[R]
obj[R]
width[R]
Public Class Methods
new(sep, width, q)
click to toggle source
# File lib/prettyprint.rb, line 278 def initialize(sep, width, q) @obj = sep @width = width @pp = q @indent = q.indent @group = q.current_group @group.breakables.push self end
Public Instance Methods
output(out, output_width)
click to toggle source
# File lib/prettyprint.rb, line 288 def output(out, output_width) @group.breakables.shift if @group.break? out << @pp.newline out << @pp.genspace.call(@indent) @indent else @pp.group_queue.delete @group if @group.breakables.empty? out << @obj output_width + @width end end