# Libraries

Libraries that help you build and scale Ruby (and Rails) applications.

## Printing (in console)

* [awesome\_print](https://github.com/awesome-print/awesome_print) - Pretty print your Ruby objects with style -- in full color and with proper indentation.&#x20;

## Resiliency and Failure

* [Semian](https://github.com/Shopify/semian) - Resiliency toolkit for failing fast (e.g. Circuit breaker and bulk heading).

## Feature Flags

* [rollout](https://github.com/fetlife/rollout) - Fast feature flags based on Redis.

## Hash Enhancements / Helpers

* [Hashie](https://github.com/intridea/hashie) - Hashie is a collection of classes and mixins that make hashes more powerful.

## Background Jobs

* [sidekiq](https://github.com/mperham/sidekiq) - Simple, efficient background processing for Ruby
* [sidekiq-cron](https://github.com/ondrejbartas/sidekiq-cron) - Scheduler / Cron for Sidekiq jobs to easily make recurring scheduled jobs.
* [sidekiq\_alive](https://github.com/arturictus/sidekiq_alive) - Liveness probe for Sidekiq in Kubernetes deployments.
* [sidekiq-statistic](https://github.com/davydovanton/sidekiq-statistic) - Improved display of statistics for your sidekiq workers and jobs.

## Location

* [geocoder](https://github.com/alexreisner/geocoder) - Complete Ruby geocoding solution.

## Phones

* [phony](https://github.com/floere/phony) - E164 international phone number normalizing, splitting, formatting. .

## Money

* [money](https://github.com/RubyMoney/money) - A Ruby Library for dealing with money and currency conversion.

## Linting and Formatting

* [Standard](https://github.com/testdouble/standard) - Ruby style guide with linter & automatic code fixer, based on Rubocop.

## Pagination

* [pagy](https://github.com/ddnexus/pagy) - The ultimate pagination ruby gem, **much** faster than most pagination gems.

## Testing

* [test-prof](https://github.com/palkan/test-prof) - Ruby tests profiling toolbox (measurments to improve test suite speed).
* [vcr](https://github.com/vcr/vcr) - Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.
* [parallel\_tests](https://github.com/grosser/parallel_tests) - Speedup Test::Unit + RSpec + Cucumber + Spinach by running parallel on multiple CPU cores.
* [database\_cleaner](https://github.com/DatabaseCleaner/database_cleaner) - Strategies for cleaning databases in Ruby. Can be used to ensure a clean state for testing.&#x20;
* [factory\_bot](https://github.com/thoughtbot/factory_bot) - A library for setting up Ruby objects as test data.
* [airborne](https://github.com/brooklynDev/airborne) - RSpec driven API testing framework.
* [knapsack](https://github.com/ArturT/knapsack) - Knapsack splits tests across CI nodes and makes sure that tests will run comparable time on each node.
