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/
Development
Prerequisites
The Ruby Toolbox depends on a few utilities which you will need to install before you begin.
PostgreSQL (Version 13)
- Linux: Use the official postgres repositories for Apt or Yum
- Mac OS: Use HomeBrew or Postgres.app
Redis
- 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.
Ruby
Install the current project ruby version, preferrably with a Ruby version manager like chruby, rbenv, or rvm
You will also need Bundler for installing the project's dependencies.
Node.js and Yarn
Yarn is used to manage frontend dependencies for the project. It can be installed by following the official installation guide. You will also need to install Node.js.
Running the application
- Start postgres and redis
- Install the project's dependencies and prepare the database with
bin/setup
- Optional but recommended: Import a production database dump using
bin/pull_database
. You can also load some test data quickly by runningrake db:fixtures:load
- 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
GITHUB_TOKEN=yourtoken
in.env.local
and.env.local.test
. - Run the services with
foreman start
. You can access the site athttp://localhost:5000
Further steps
- 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 guard
to 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.yml
changes, you need to verify it's contents and approve the changes withbundle exec overcommit --sign
- You can find the sidekiq web UI at
http://localhost:5000/ops/sidekiq
. Username can be empty, the default password isdevelopment
.
Production
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
License
This project is available as open source under the terms of the MIT License.