All posts

How to read Ruby open source code locally

I’m sure TMTOWTDI here but I hope this helps you get started. The end goal here is to be able to run the following command in your terminal bundle open gem_name and have the code for the library opened in your text editor.

To start, use your bash, zsh, or other terminal shell to export a variable called BUNDLER_EDITOR. Bundler will use this environment variable to open the ruby gem library code in your text editor I’m using vscode and pass the appropriate command to open it code -a .. The full command on the terminal looks like:

export BUNDLER_EDITOR="code -a ."

From there navigate to the ruby project that is using the gem you want to read source code for, you will need to have the gem declared in your Gemfile for this to work. After the gem you want to read is included in a ruby project, navigate to the root directory of that project on your command line and run:

bundle open gem_name

A more explicit example:

Generate a new rails project: rails new test_project

Open the Gemfile and add the YAML gem to your dependencies:

gem "yaml"

Navigate to the project root directory:

cd test_project

Open the source code the for yaml gem:

bundle open yaml

After running the bundle open command the library code for YAML should be opened in your text editor.

Note that if you run the bundle open command without setting a value for BUNDLE_EDITOR you will be met with the following message:

“To open a bundled gem, set $EDITOR or $BUNDLER_EDITOR

So you could alternatively set a value for $EDITOR and you should have the same outcome. Dealers choice.

Further reading: