Flip the frozen bit on ruby objects, to unfreeze (thaw) them.
Note: You probably don't need to use this gem, you probably want to .dup
your objects instead.
To-date, thaw
works in Ruby 2.0
through 2.6
1.
Check the build status for the most current compatibility.
1There seems to be a segmentation fault in Ruby 2.7
that I haven't had time to investigate.
The best way to install is with RubyGems:
$ [sudo] gem install thaw
Or better still, just add it to your Gemfile:
gem 'thaw'
string = "hello"
string.frozen?
=> false
string.thawed?
=> true
string.freeze
string.frozen?
=> true
string.thawed?
=> false
string.thaw
string.frozen?
=> false
string.thawed?
=> true
After checking out the repo, run bundle
to install dependencies. Then, run bundle exec rspec
to run the tests.
Bug reports and pull requests are welcome on GitHub at https://github.com/TwilightCoders/active_record-framing. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
Shamelessly ripped from ndnenkov's answer on StackOverflow.
The gem is available as open source under the terms of the MIT License.