Chad Fowler on Monkeypatching

Manfred Stienstra

Chad Fowler explains why opening classes in Ruby is a good idea. He also mentions how plugins allow the Rails core team to push out ‘unstable’ features to the public.

The Rails team is already using plugins like this as a way to get new functionality into circulation as a kind of proving ground before things make it into Rails core.

I really like this model because it allows the Rails core team to keep the svn trunk clean from any unstable code. The code can be tested in the wild through plugins, when the feature is used enough and appears to be stable, it can be included. The downside is that plugins which open Rails classes have to be re-written for every release.