A collection of awesome Ruby Gems for Rails API development.
The goal is to help every Rails developer to build an awesome Rails API services.
- API Frameworks
- Authentication
- Authorization
- Serializers
- HTTP clients
- Documentation
- Admin Panel
- File Uploaders
- Logging
- Coding Style
- Testing
- Grape - Microframework to create REST-ful APIs in Ruby.
- Rails::API - Rails for API-only applications.
- devise_token_auth - Token-based authentication for Rails JSON APIs. Designed to work with jToker and ng-token-auth.
- devise-jwt - JWT token authentication with devise and rails.
- devise-api - This is a convenient way to add authentication to your Ruby on Rails application using the devise gem.
- Doorkeeper - Doorkeeper is an OAuth 2 provider for Ruby on Rails / Grape.
- Pundit - Minimal authorization through OO design and pure Ruby classes.
- cancancan - The authorization Gem for Ruby on Rails.
- Rolify - Role management library with resource scoping.
- ActiveModel::Serializers - Serializer brings convention over configuration to your JSON generation.
- Jbuilder - Jbuilder gives you a simple DSL for declaring JSON structures that beats massaging giant hash structures. This is particularly helpful when the generation process is fraught with conditionals and loops.
- jsonapi-serializer - A fast JSON:API serializer for Ruby (fork of Netflix/fast_jsonapi).
- Blueprinter - Simple, Fast, and Declarative Serialization Library for Ruby.
- rabl - General ruby templating with json, bson, xml, plist and msgpack support.
- Roar - Parse and render REST API documents using representers.
- rest-client - Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.
- Httparty - Makes http fun again! Ain't no party like a httparty, because a httparty don't stop.
- Faraday - Simple, but flexible HTTP client library, with support for multiple backends.
- Grape Swagger - Autogenerate documentation on Grape API.
- Grape Swagger UI - Display documentation that is generated using Grape Swagger.
- apiary - Work together to quickly design, prototype, document and test APIs.
- apiblueprint - API Documentation with powerful tooling.
- ActiveAdmin - ActiveAdmin is an administration framework for Ruby on Rails applications.
- RailsAdmin - RailsAdmin is a Rails engine that provides an easy-to-use interface for managing your data.
- administrate - A Rails engine that helps you put together a super-flexible admin dashboard.
- Trestle - A modern, responsive admin framework for Ruby on Rails.
- Carrierwave - Provides a simple and extremely flexible way to upload files from Ruby applications
- Shrine - Shrine is a toolkit for handling file attachments in Ruby applications
- grape_logging - Request logging for Grape.
- Lograge - An attempt to tame Rails' default policy to log everything.
- RuboCop - Rubocop is a Ruby static code analyzer. Out of the box it will enforce many of the guidelines outlined in the community Ruby Style Guide.
- Rails Best Practice - Rails best practice is a code metric tool to check the quality of rails codes.
- Metric Fu - A fist full of code metrics.
- Pronto - Quick automated code review of your changes.
- rspec-rails - Rspec-rails is a testing framework for Rails 5+.
- factory_bot - A library for setting up Ruby objects as test data.
- Faker - A library for generating fake data such as names, addresses, and phone numbers.
- Webmock - Library for stubbing and setting expectations on HTTP requests in Ruby.
Contributions welcome! Read the contribution guidelines first.