RubyGems and the require Method
Similar to the concept of including modules, Ruby has another way of including external code into your project, which is known as a gem. Essentially, a Ruby gem is a package of code that can be included in your project, much like a module, with a few key differences such as the ability to version a particular package and the ability to load other dependent gems at the same time.
Generally speaking, a gem is more of a collection of modules and classes than a single module or class. Gems can be tiny and can solve a single problem, such as formatting screen output, or they can be an entire application framework. The Ruby on Rails framework, for example, is a gem itself.
Most modern languages have an equivalent way of loading external code packages into an application. These are commonly referred to as package managers.
For Node.js, you would use npm
or yarn
; for Python, you would use PIP
; for C#, you would use NuGet; and for Ruby, we use RubyGems...