This touches on one of my favorite things about Ruby as a language. The functionality you're asking for becomes pretty easy to monkey patch in yourself without breaking your upgrade path or forcing you to maintain a fork.
IMO that easy of tweaking 3rd party libraries is the reason that Ruby's ecosystem is so polished.
It's really easy to drop in an initializer, make your patch, let it ride in production for a while and then contribute your patch back to the main project than it is to set up a fork and all of the ceremony involved with keeping it up to date.
It's a good example of removing barriers of entry or an idea of Ruby's "sharp knives". Great for when you need it but can also be a disaster when abused.
Yep. Definitely a great power, great responsibility tool.
It's the one thing that keeps Ruby closer to true Aspect Oriented Programming than any other language (in my experience at least). It's probably the biggest thing that I miss from Ruby when working in other languages, even ones that I love like Elixir.
IMO that easy of tweaking 3rd party libraries is the reason that Ruby's ecosystem is so polished.