If you've ever used Ruby you have probably used Bundler through it's command
line tool bundle. There's quite a few things you can do with bundle, from
the more common bundle install or bundle exec, to the less frequently
mentioned bundle outdated.
In between those there is a very useful command, bundle open, which will open
the code for a specified gem with an editor you can also configure.
Configuring the editor is as simple as defining an environment variable with
your editor of choice, which in my case is vim:
export $EDITOR=vimNow, if I run bundle open rails, I'll have vim open with the rails source
code for the version in the current bundle. Neat.
ctags
If you want to have something similar integrated with your editor you can look
at ctags and how to install them in your
machine and editor. But it will basically go through source code of languages it
recognizes (a lot) and generate an index file for them, so that you can easily
look up methods, class definitions, etc.
For example, in my vim setup I have a map of fd (find definition) that uses
ctags, so that I can go directly from my source code to a gem's source code and
back without ever leaving my editor.
The main issue with ctags is that it's pretty much a cache, and you need to
update it every time you install a gem or update its version. Luckily (and for
those of you who use vim certainly not for the first time) Tim Pope comes to
the rescue with the gem-ctags gem,
that will do that updating for you.
More Ruby Bits
If you've enjoyed this Ruby Bit you should really subscribe to our newsletter, where other Ruby Bits and more great articles are shared every week.

