Frozen hashes in Ruby 3.1
23tux opened this issue · 3 comments
I noticed when upgrading to Ruby 3.1, that this lines causes the loaded hashes to be frozen:
Lines 248 to 250 in 32c957e
and
Lines 264 to 266 in 32c957e
We do some manipulations to the loaded translations like parsing markdown and writing the results back to the translation hashes. This now throws a can't modify frozen Hash
error when trying to set a key on that hash.
I wonder why this is? Can someone elaborate why the files are loaded with freeze: true
? Is this for performance reasons?
And what would a good way of customize this? For now I can only think of monkey patching the load_yml
and load_json
method, even if it's very ugly and complicates future gem updates.
Or is there some hook or custom backend or anything like this, that would be better than monkey patching the method?
That one was just for JSON. Are you seeing issues with YML too? If so, please open a different issue.