Gems are a packaged library of functions that can extend your application or provide other features to your system. Learn to create and publish a ruby gem.
Mountable Engines are a great way to extract code into its own namespace and allow the code to be reused in other applications. Other popular gems that are mountable engines are Devise and Doorkeeper.