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.
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.