wycats / bundler

407 stars 30 forks source link

DRY-up specification of scoped gems in Gemfile #152

Open garysweaver opened 14 years ago

garysweaver commented 14 years ago

Bundler is an awesome concept and really helps speed things up by greatly helping avoid manually having to freeze and unfreeze gems manually.

Something that seems to have been lacking in Ruby development (on and off-Rails) is standardized and well-used support for a standard directory for scoped dependencies (specifically those used only in testing, and more specifically those only needing when testing via Rake or similar).

Bundler's ability to scope dependencies only for testing is great, but it seems that it could be DRY-er. For example, if you want to specify a gem only for testing, the Gemfile must have a line like:

gem "name", "version", :only => :testing:

But to be DRY-er it could look like:

gem "name", "version", :testing

Or better yet:

name version testing

I know this introduces more problems since it isn't as extendable, would rely on parsing the Gemfile instead of just loading it (assuming that is what is being done now?), and because this is a major change. But requiring as few characters to be typed as possible to require a dependency for a specific scope would seem to be a great enhancement, and might be one more thing to help get more people interested in Ruby/Rails development.

garysweaver commented 14 years ago

Maybe this should just be an idea for someone to write a gem that could in-turn use Bundler to do this and load from a file like "Gemlist", since the format of the file would be so different. Thinking more about it and reading about the cool things you can do in a Gemfile, I doubt anyone would want to do what I suggested in Bundler itself.