Rails engines and the Theme Support plugin interfere

In my travels today I found that the Rails Engines plugin applies a patch to Rails that causes the Theme Support plugin to not work any more – for sending mail anyway.

What happens is that the Rails Engines code changes an internal method signature for ActionMailer that the Themes Support code also uses.

The simple fix was to change the Theme Support code to add the extra parameter, but the correct fix is to change the Engines code to not change the internal method signature in a way that breaks things. I’ll submit a patch over the weekend.

As more plugins get written, the maintenance issues start to get out of hand. There are at least two major issues:

  1. Interactions between plugins
  2. Versioning of plugins and Rails

Java and .Net tries to solve these problems in different ways, but haven’t yet got it nailed. These problems only get bigger as more code gets written. There are fun times ahead.