Gems for projects
Essential gems for a Rails project, such as Jbuilder and Rack::Cors.
Essential gems for a Rails project
Jbuilder
Jbuilder gives you a simple DSL for declaring JSON structures that beats manipulating giant hash structures. This is particularly helpful when the generation process is full of conditionals and loops.
rack-cors
Rack::Cors provides support for Cross-Origin Resource Sharing (CORS) for Rack-compatible web applications. The CORS spec allows web applications to make cross-domain AJAX calls without using workarounds such as JSONP.
dry-configurable
dry-configurable is a simple mixin to add thread-safe configuration behavior to your classes. Many libraries make use of configuration, and each seemed to have its own implementation with a similar or duplicated interface, so it seemed strange that this behavior had not already been encapsulated in a reusable gem. That’s how dry-configurable was born.
ransack
Ransack enables the creation of both simple and advanced search forms for your Ruby on Rails application. If you’re looking for something that simplifies query generation at the model or controller layer, you’re probably not looking for Ransack (or MetaSearch, for that matter). Try Squeel instead.
faraday
Faraday is an HTTP client library that provides a common interface over many adapters (such as Net::HTTP) and embraces the concept of Rack middleware when processing the request/response cycle.
rspec_api_documentation
Generate pretty API docs for your Rails APIs.
apitome
Apitome is an API documentation tool for Rails built on top of the excellent RSpec DSL included in rspec_api_documentation (RAD). It’s designed to display the documentation generated by RAD either on a single page or on individual pages, and it uses Bootstrap for most of the basic styling and highlight.js for code highlighting. You can provide a Markdown file to be displayed as the README page, and, taking advantage of its modular view structure, you can override any number of views and partials to customize the output. You can also specify custom CSS and JavaScript if you want to do fancier things or change its look.
jwt
A Ruby implementation of the RFC 7519 OAuth JSON Web Token (JWT) standard.
devise_invitable
Adds support to Devise for sending invitations by email (it requires authentication) and accepting the invitation by setting a password.
devise_token_auth
Simple, multi-client, and secure token-based authentication for Rails. If you’re building a SPA or a mobile app and you want authentication, you need tokens, not cookies. This gem refreshes the tokens on each request and expires them in a short time, so the app stays secure. It also maintains a session for each client/device, so you can have as many sessions as you want.
sentry-ruby
Bad software is everywhere, and we’re tired of it. Sentry is on a mission to help developers write better software faster, so we can get back to enjoying technology.
sentry-rails
Sentry’s Ruby SDK allows users to report messages, exceptions, and tracing events. The SDK supports Ruby 2.4+ and recent versions of JRuby. It also integrates with popular frameworks and libraries through library-specific gems.
redis
A Ruby client that tries to match the Redis API one-to-one while still providing an idiomatic interface. See RubyDoc.info for the API documentation of the latest published gem.
groupdate
The simplest way to group by:
- Day, week, hour of the day, and more
- Time zones, including daylight saving time, are supported (the best part)
- Get the entire series (the other best part)
- Supports PostgreSQL, MySQL, and Redshift, plus arrays and hashes (and limited support for SQLite)
- Works hand in hand with Chartkick
Development
rspec-rails
rspec-rails brings the RSpec testing framework to Ruby on Rails as a drop-in alternative to its default testing framework, Minitest. In RSpec, tests are not just scripts that verify your application code. They’re also specifications (or specs, for short): detailed explanations of how the application is supposed to behave, expressed in plain English.
shoulda
Shoulda helps you write more understandable, maintainable Rails-specific tests under Minitest and Test::Unit.
shoulda-matchers
Shoulda Matchers provides RSpec- and Minitest-compatible one-liners to test common Rails functionality that, if written by hand, would be much longer, more complex, and error-prone.