class

Crinja::Renderer::OutputList

Inherits Crinja::Renderer::Output < Reference < Object

=== 3. Streaming OutputList join ===================================== Upstream joins nested lists with io << node.value, which builds the entire nested subtree (e.g. a for-loop's whole output) into an intermediate String before copying it into the parent — every level of nesting re-copies the page. Recurse with the IO instead so bytes are written exactly once. BlockOutput#value must still be called eagerly (it raises on unresolved placeholders), which else covers.

Instance methods

<<(output)
Source
each_block
Source
has_blocks?
Source
value(io : IO)
Source