I noticed for some gems you must include it in the file where you want to use it like this require 'a_gem', but this is not always the case.

I am going to compose a gem by myself. What should I do if I do not want to add the require 'my_gem' to the .rb file when using it?

Question author Leo | Source



Usually, an application that is using a gem needs to require the gem:

require "my_awesome_gem"

However, if an application is using bundler, which defines the application's gem in a file called "Gemfile":

source 'http://rubygems.org'
gem 'my_awesome_gem'

then the application may invoke bundler in a way that automatically requires all of the gems specified in the Gemfile:

require "bundler"

Rails projects use Bundler.require, so a Rails application will not need to explicitly require a gem in order to use it: Just add the gem to the Gemfile and go.

For more about Bundler.require, see the bundler documentation

For more about how Rails uses Bundler, see How Does Rails Handle Gems? by Justin Weiss.

Answer author Wayne-conrad