In my Gemfile in Rails I have these groups:
group :development, :test do gem "capybara" gem "database_cleaner" gem "spork" gem "launchy" end group :bdd do gem "cucumber-rails" gem "rspec-rails" end
What does this mean?
Since version 0.9, Bundler has had a feature called "groups". The purpose of this feature is to allow you to specify groups of dependencies which may be used in certain situations, but not in others. Specifying groups allows you to do two things. First, you can install the gems in your Gemfile, minus specific groups.
Whenever you specify a Gem in your Gemfile and run bundle install , bundler will go and install specified gem and load code for that Gem in you app by putting require 'whenever' this way bundler will load code for all of your Gems in your Rails app, and you can call any method from any Gem without any pain, like you do ...
The Gemfile is where you specify which gems you want to use, and lets you specify which versions. The Gemfile. lock file is where Bundler records the exact versions that were installed. This way, when the same library/project is loaded on another machine, running bundle install will look at the Gemfile.
A Gemfile is a file that is created to describe the gem dependencies required to run a Ruby program. A Gemfile should always be placed in the root of the project directory.
From http://yehudakatz.com/2010/05/09/the-how-and-why-of-bundler-groups/:
Specifying groups allows you to do two things. First, you can install the gems in your Gemfile, minus specific groups. For instance, Rails puts mysql and pg in a database group so that if you’re just working on ActionPack, you can bundle install --without db and run the ActionPack tests without having to worry about getting the gems installed.
Second, you can list specific groups to autorequire using Bundler.require. By default, Bundler.require requires all the gems in the default group (which is all the gems that have no explicit group). You can also say Bundler.require(:default, :another_group) to require specific groups.
Grouping your dependencies allows you to perform operations on the entire group. See: http://gembundler.com/v1.3/groups.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With