Today I woke up to an exception
RuntimeError: can't modify frozen String
I looked at the code that had raised the exception. It was doing a
gsub! on a value out of params. It took me a bit of digging to figure out why it failed. Turns out there's an edge case that causes one of those values to get pulled out of
ENV instead of the normal flow where it originates from the user.
Strings coming out of ENV are frozen. D'oh!