Ruby Gems or “gem” is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries. It is easy to manage and install to your system and it can be used by various rails applications.
Every RoR developer might have customised a gem at least once in his career, but not each one of them has actually, created a gem. Here, I am going to give a basic idea about how to create a new gem and how to publish it.
How to name your Gem
Don’t blindly give a random name to your gem. Please take care of the following;
Every dash represents a structure (folder, module) immersion
Every underscore represents a joining in the class name
- require ‘new_test_gem’
- module/class NewTestGem
- require ‘gem/structure/new_test_gem
- module/class Gem::Structure::NewTestGem
How to create your Gem
To create a gem;
$ bundle gem new_test_gem
It will create some basic files and directories.
Where to add your code or job
Your beautiful code goes here
Once you have added your code into the lib file then you will have to update the gemspec file;
What is Gem Versioning
VERSION = “0.1.0”
A couple of things about what you create
- A gem version is a string of 3 numbers – ‘X.Y.Z’.
- Incrementing X, Y, Z
incrementing Z, a small change and it’s called the ‘build’ number(e.g. changing label/text) and no change in any functionality.
incrementing Y, a new functionality change and it’s called the ‘minor’ number. But no compatibility issues with the previously released versions.
incrementing X, severe change and it’s called the ‘major’ number and the change no longer compatible with the previous versions.
The gem below (Gem-release) helps you to version your gem with a simple ‘bump’ command.
How to build your Gem
Once we have our gemspec, we have to build a gem from it. We can, then, install it locally to test it.
Installation and Testing
Once your gem is built, you will have to install it to your system.
And of course, you have to test it properly.
$ gem install ./new_test_gem-0.1.0.gem
How to push your Gem
To get it done, we’ll need to create an account on RubyGems.org.
Then, it will be available to the other rubyists all over the world through rubygems.org.
This is done by;
$ gem push new_test_gem-0.0.1.gem
To check it, your gem is added in RubyGems.org
$ gem list -r new_test_gem
That’s all it takes to create a gem!
If you want to create a Ruby Gem, you can further read through the following write-ups;