/awesome-rails-api-gems

A collection of awesome Ruby Gems for Rails API development.

Awesome Rails API Gems Awesome

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.

Rails API Gem List

API Frameworks

  • Grape - Microframework to create REST-ful APIs in Ruby.
  • Rails::API - Rails for API-only applications.

Authentication

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

Authorization

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

Serializers

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

HTTP Clients

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

Documentation

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

Admin Panel

  • 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.
  • Typus - Typus is a control panel for Ruby on Rails applications to allow trusted users to edit structured content.
  • administrate - A Rails engine that helps you put together a super-flexible admin dashboard.
  • Trestle - A modern, responsive admin framework for Ruby on Rails.

File uploaders

  • 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

Logging

  • grape_logging - Request logging for Grape.
  • Lograge - An attempt to tame Rails' default policy to log everything.

Coding Style

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

Testing

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

Contribute

Contributions welcome! Read the contribution guidelines first.