Today, RailsConfEurope 2008 started! Well, at least if you signed up for Tutorial Day.
The first tutorial I’m attending is about Hacking Rails Internals. At first I thought about this as a great way to enhance my own apps and be able to easily integrate other apps like Radiant or Mephisto. However, the more I saw of the demo (it really is more a demo than a tutorial really), the more I disliked hacking Rails Internals.
Basically, you hook your own application code directly into the Rails code to make it jump through hoops. But, this comes at a big price. First of all, your app code is very dependent on a specific version of Rails, so upgrading Rails will most likely break your app and cost a lot of time (and money) to upgrade.
Next, you are overriding internal Rails code. You just don’t know if any other code (either yours, Rails or a plugin) depends on the behaviour of that code. So you should probably expect strange stack traces.
So, although hacking Rails to include your own or others code directly is great, it has some major drawbacks you should consider. To quote the presenter “It’s brutish, but it’s how to do it”.
I’m really looking forward to Nick Sieger and his JRuby tutorial this afternoon. I’m all set with Glassfish installed and my Rails app ready.