On Dec 7, 3:34 pm, Michael Koziarski <[email protected]> wrote: > Bundler's certainly done a great job of making it low-cost to add, > install and upgrade gems that your app depends on. However without a > pretty compelling *cost* to maintaining the existence of plugins, I > don't really see what the upside is.
I think there's a compelling cost in *using* plugins. If plugins were no longer supported, developers would be forced to build gems. As it is, every project I work on seems to have one or two plugins that won't make the switch. Maintaining them as submodules or some other oft-horrific process is costly compared to the ease of gems and bundler. > For the odd small snippet of code you want to share amongst a few > applications, plugins are a lovely lo-fi solution. Removing that > would come with a pretty high hurdle, one much higher than "the code > would be nicer" when, in reality, it's very little code to support > them, 91 lines or so at present. It's really, really easy to make a gem. And it clarifies your code structure. It makes it easier to test properly. And with bundler, you don't even need to publish the gem anywhere. You can host it privately with git, and you can develop locally without bumping the gem version or even "bundle update"ing between changes. If you're sharing anything between your apps, you benefit from using a gem. It's easier than git submodules or any equivalent. The only way a plugin is easier to manage (in my experience) is if you're just copying it in and not backing it with its own source control. And let's hope no poor souls are doing that. And if they insist, they still have the lib directory. You're right: 91 lines isn't much to maintain. But that's not the cost that concerns me. Peter -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
