Part of the Gem-based Development Process series
Once you begin to build a lot of plugins (shared across numerous Rails applications), cross-plugin dependencies start to creep in. If you've ever renamed your plugins to effect load order, then you know what I'm talking about. Our idea, which has been extremely successful, is to package interesting dependencies as RubyGems. These dependencies include proprietary shared plugins as well as library dependencies.
Since our applications care to share a lot more than bundles of Ruby classes, we decided to beef up plugins as well.
- Part I: Justification
- Part II: Bundling a plugin as a Gem and getting it all to work with Rails
- Part III: Extracting views, partials, tasks and layouts into plugins and gems
- Part IV: Retaining developer convenience in a Gem-driven Rails application