# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.omar.engineer/programming-languages/ruby/libraries.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
