Michael Koziarski wrote:
> We're definitely not going to go down the route of a massive
> dependency system of our own.  Rubygems does this kind of thing
> already, and perhaps we just need to go down the plugins-as-gems
> approach.

I just want to add my +1 to this comment. It seems like plugins are 
trying to solve all the same problems RubyGems is trying to solve. But 
plugins are just doing it badly while RubyGems is doing better (not 
perfect but much better).

In my mind plugins should be deprecated and eventually removed. Having a 
"gem" route and a "plugin" route is just too confusing. To me if I want 
to enhance Rails to have the functionality of acts_as_paranoid then I 
should just:

1. gem install acts_as_paranoid
2. Add "require acts_as_paranoid" in my environment.rb. If I care about 
binding it to a specific version of acts_as_paranoid I would instead put 
"require_gem 'acts_as_versioned', '0.3'"

Then I'm done. This would remove a lot of code from Rails core making it 
simpler but it would give us the following benefits we don't currently have:

1. Distribution - yes I know "./script/plugin install blah" but it is 
crappy. Requires SVN to be laid out in a non-standard way, has a flaky 
way of finding the package so you pretty much always have to get the SVN 
URL and has problems with some repositories (SSL, etc). Gem is quick, 
simple and works.

2. Versioning - This ensures stability. The plugin route has nothing for 
this other than bringing it into your own repository and then having to 
use third party tools like piston to allow updates when desired.

3. Dependencies - Specifying a load order is just archane. Yes it works 
but as I user of acts_as_paraniod I shouldn't have to care if it has a 
dependency. When I install acts_as_paranoid it should tell rubygems its 
dependencies and all I have to do is say install with all dependencies.

4. Simplicity - No more spending hours tracking to load order dependency 
problems. Reduction of Rails core code.

Eric


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to