This is how you use a Ruby gem usually:
require 'foo'
Foo.bar
For the require to work, the gem needs to be available on the LOAD_PATH:
ruby -e 'puts $LOAD_PATH'
The act of adding a gem to the LOAD_PATH is called "activating a gem".
In a vanilla Ruby situation, you can add a directory to the LOAD_PATH with:
ruby -I ./foo/lib -e "puts(require 'foo')"
# true
More often, you deal with a bundle that contains a Gemfile:
gem 'foo'
To activate the gems from the Gemfile (taking into account the versions from Gemfile.lock):
require 'bundler/setup'
require 'foo'
or (equivalent):
require 'bundler'
Bundler.setup
require 'foo'
Notice that the setup step will first clear the LOAD_PATH and activate only the gems in the bundle.
For example, Rails does it here and here.
If you've ever wondered what the hell is up with bundle exec ..., the answer is simple: Bundler activates the gems in the bundle with something like
RUBYOPT="-rbundler/setup" ruby ...
Of course, things are more complex than that. But this should give you a starting point.