require 'rubygems' require 'bundler/setup' require 'nokogiri'
Learn More: Groups
require 'rubygems' require 'bundler' Bundler.setup(:default, :ci) require 'nokogiri'
Setting Up Your Application to Use Bundler
Bundler makes sure that Ruby can find all of the gems in the
(and all of their dependencies). If your app is a Rails 3 app, your default application
already has the code necessary to invoke bundler. If it is a Rails 2.3 app, please see
Setting up Bundler in Rails 2.3.
For another kind of application (such as a Sinatra application), you will need to set up
bundler before trying to require any gems. At the top of the first file that your
application loads (for Sinatra, the file that calls
require 'sinatra'), put
the following code:
require 'rubygems' require 'bundler/setup'
This will automatically discover your
Gemfile, and make all of the gems in
Gemfile available to Ruby (in technical terms, it puts the gems "on the
load path"). You can think of it as an adding some extra powers to
Now that your code is available to Ruby, you can require the gems that you need. For
instance, you can
require 'sinatra'. If you have a lot of dependencies, you
might want to say "require all of the gems in my
Gemfile". To do this, put
the following code immediately following
For our example Gemfile, this line is exactly equivalent to:
require 'rails' require 'rack-cache' require 'nokogiri'
Astute readers will notice that the correct way to require the
require 'rack/cache', not
require 'rack-cache'. To tell
bundler to use
require 'rack/cache', update your Gemfile:
source 'https://rubygems.org' gem 'rails', '3.0.0.rc' gem 'rack-cache', :require => 'rack/cache' gem 'nokogiri', '~> 1.4.2'
For such a small
Gemfile, we'd advise you to skip
Bundler.require and just require the gems by hand (especially given the
need to put in a
:require directive in the
Gemfile). For much
Bundler.require allows you to skip
repeating a large stack of requirements.