The Ruby Toolbox is a catalog of all Rubygems that keeps track of popularity and health metrics to help you choose a reliable library.
This is the source code for the site you can visit at https://www.ruby-toolbox.com/
The Ruby Toolbox depends on a few utilities which you will need to install before you begin.
PostgreSQL (Version 13)
- Linux: On Ubuntu, you can use this PPA. Otherwise build from source as detailed in The Redis quickstart.
- Mac OS: Use HomeBrew or build from source as detailed in The Redis quickstart.
You will also need Bundler for installing the project's dependencies.
Running the application
- Start postgres and redis
- Install the project's dependencies and prepare the database with
- Optional but recommended: Import a production database dump using
bin/pull_database. You can also load some test data quickly by running
- In order to access the GitHub GraphQL API for pulling repo data, you need to create a OAuth token as per GitHub's documentation. No auth scopes are needed. Place the token as
- Run the services with
foreman start. You can access the site at
- You can run the test suite with
bundle exec rspec
- You can check code style with
bundle exec rubocop
- During development you can launch guard using
bundle exec guardto continuously check your changes
- The repo has overcommit git hooks set up to check your changes before commit, push etc. You can set it up once with
bundle exec overcommit --install. Whenever the hook config file
.overcommit.ymlchanges, you need to verify it's contents and approve the changes with
bundle exec overcommit --sign
- You can find the sidekiq web UI at
http://localhost:5000/ops/sidekiq. Username can be empty, the default password is
See our overview of Configuration settings for an overview of what needs to be set up to run the app in production.
Code of Conduct
Everyone participating in this project's development, issue trackers and other channels is expected to follow our Code of Conduct
This project is available as open source under the terms of the MIT License.