0





16

Advertisement

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

Advertisement


0


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

require "my_awesome_gem"
MyAwesomeGem.do_something_great

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"
Bundler.require
MyAwesomeGem.do_something_great

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