diff options
author | nick evans <[email protected]> | 2024-10-28 15:41:26 -0400 |
---|---|---|
committer | git <[email protected]> | 2025-05-01 17:52:14 +0000 |
commit | 136dc52663b3e3a1a6c4efd3c4621ea2a7aacd17 (patch) | |
tree | 07c2982b32ffb0ebd1aacb76c392c2e7e1cef7ae /spec/ruby/library/zlib/gunzip_spec.rb | |
parent | a397e4d4b0a0e7e8499a33ec760dba97ce494c63 (diff) |
This sets the ivars _before_ calling initialize, which feels wrong. But
Data doesn't give us any mechanism for setting the members other than 1)
initialize, or 2) drop down into the C API. Since initialize freezes
the object, we need to set the ivars before that. I think this is a
reasonable compromise—if users need better handling, they can implement
their own `encode_with` and `init_with`. But it will lead to unhappy
surprises for some users.
Alternatively, we could use the C API, similarly to Marshal. Psych _is_
already using the C API for path2class and build_exception. This would
be the least surprising behavior for users, I think.
Diffstat (limited to 'spec/ruby/library/zlib/gunzip_spec.rb')
0 files changed, 0 insertions, 0 deletions