Add output option for streaming encode results#3
Merged
andrepcg merged 1 commit intoandrepcg:masterfrom Feb 2, 2026
Merged
Conversation
- Added `output:` parameter to `Toon.encode` method to allow writing directly to IO objects - Modified `LineWriter` to accept optional `output` argument and write directly to it instead of collecting lines - Updated `resolve_options` to include `output` in the options hash - `Toon.encode` now returns `nil` when `output:` is specified, otherwise returns the encoded string - Added tests for the new `output:` functionality in `spec/toon_spec.rb` - `LineWriter` now uses `StringIO` as default when no `output` is provided, maintaining backward compatibility - Enables memory-efficient streaming of large outputs without keeping entire result in memory
941bf72 to
cc5c8cf
Compare
andrepcg
approved these changes
Feb 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
output:parameter toToon.encodemethod to allow writing directly to IO objectsLineWriterto accept optionaloutputargument and write directly to it instead of collecting linesresolve_optionsto includeoutputin the options hashToon.encodenow returnsnilwhenoutput:is specified, otherwise returns the encoded stringoutput:functionality inspec/toon_spec.rbLineWriternow usesStringIOas default when nooutputis provided, maintaining backward compatibility