From: shyouhei@... Date: 2014-06-16T03:57:11+00:00 Subject: [ruby-core:63184] [ruby-trunk - Feature #2509] Recursive freezing? Issue #2509 has been updated by Shyouhei Urabe. I agree. Even if we allow a programmer to shoot themselves, they must be able to know what's going on when they do so. If a collection cannot be frozen at once, that should be notified or detected somehow. ---------------------------------------- Feature #2509: Recursive freezing? https://bugs.ruby-lang.org/issues/2509#change-47237 * Author: Marc-Andre Lafortune * Status: Rejected * Priority: Normal * Assignee: Yukihiro Matsumoto * Category: core * Target version: next minor ---------------------------------------- =begin I like freezing my constants, config files I read, etc... I believe it is the typical use case for #freeze. In all theses cases, what I really want to do is freeze everything. There is often no easy way to do this (e.g. for config files), or else one must explicitly call freeze a bunch of times, like: DEFAULT_SEND_FILE_OPTIONS = { :type => 'application/octet-stream'.freeze, :disposition => 'attachment'.freeze, }.freeze It would be very nice if there was an easy way to freeze recursively arrays, hashes, etc... A solution would be for #freeze to accept a level argument (similar to flatten, but the default being 1), or alternatively a boolean one (recursive = false). Should I write a patch for this feature request? Thanks, Marc-Andr�� =end ---Files-------------------------------- deep_freeze.pdf (90.8 KB) -- https://bugs.ruby-lang.org/