Skip to content

13LD/must-have-rails-api-gems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

must-have-rails-api-gems

This is a list of what was used in production. A collection of awesome Ruby Gems for Rails development

The goal is to help every Rails developer to build an awesome Rails Api application/engine.

Authentication

  • Knock - Seamless JWT authentication for Rails API.
  • Devise token auth - Token based authentication for Rails JSON APIs. (Very useful on stack with angular and react)

Authorization

  • Pundit - Pundit provides a set of helpers which guide you in leveraging regular Ruby classes and object oriented design patterns to build a simple, robust and scaleable authorization system. (Recommended)
  • cancancan - Continuation of CanCan, the authorization Gem for Ruby on Rails.CanCan is an authorization library for Ruby on Rails which restricts what resources a given user is allowed to access. All permissions are defined in a single location (the Ability class) and not duplicated across controllers, views, and database queries. (Simpler way )

Omniauth

Active Record

  • PaperTrail - PaperTrail lets you track changes to your models' data. It's good for auditing or versioning.
  • paranoia - ActiveRecord plugin allowing you to hide and restore records without actually deleting them.
  • Validates - Validates provides collection of useful custom validators for Rails applications.

Pagination

  • kaminari - A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for Rails 3 and 4.

API

  • Grape - Microframework to create REST-ful APIs in Ruby.
  • fast_jsonapi - Serializer brings convention over configuration to your JSON generation.
  • Documentation
    • swagger-blocks - Define and serve live-updating Swagger JSON for Ruby apps.
    • apiary - Work together to quickly design, prototype, document and test APIs.
    • apiblueprint - API Documentation with powerful tooling.

File Uploading

  • MiniMagick - MiniMagick is a ruby wrapper for ImageMagick or GraphicsMagick command line.
  • Paperclip - Easy file attachment management for ActiveRecord.

Searching (choose one)

  • pg_search - pg_search builds ActiveRecord named scopes that take advantage of PostgreSQL's full text search (almost enough for all apps)
  • searchkick - Intelligent search made easy with Rails and Elasticsearch.

Scheduled/Recurrence Jobs (choose one)

  • Whenever - Whenever is a Ruby gem that provides a clear syntax for writing and deploying cron jobs.
  • Resque - Redis-backed Ruby library for creating background jobs, placing them on multiple queues, and processing them later.
  • Sidekiq - Simple, efficient background processing for Ruby.

Environment Variables (choose one)

  • Figaro - Figaro is very simple, Heroku-friendly Rails app configuration using ENV and a single YAML file.
  • dotenv - Dotenv is a gem that allows you to set your environment variables in .env file, and it will load it in to ENV.

Admin Panel

  • ActiveAdmin - ActiveAdmin is a administration framework for Ruby on Rails applications.

Logging

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

Testing

  • rspec-rails - Rspec-rails is a testing framework for Rails 3.x and 4.x.
  • factory_bot - Factory_bot is a fixtures replacement with a straightforward definition syntax, support for multiple build strategies (saved instances, unsaved instances, attribute hashes, and stubbed objects), and support for multiple factories for the same class (user, admin_user, and so on), including factory inheritance.
  • factory_bot_rails - Factory_bot_rails provides Rails integration for factory_bot.
  • shoulda-matchers - Shoulda-matchers provides serveral matchers for testing common Rails functionality.
  • SimpleCov - SimpleCov is a code coverage analysis tool for Ruby.
  • Database Cleaner - Database Cleaner is a set of strategies for cleaning your database in Ruby.Support ActiveRecord, DataMapper, Sequel, MongoMapper, Mongoid, CouchPotato, Ohm and Redis.

Production (choose one)

  • Capistrano - Remote multi-server automation tool.
  • Mina - fast deployer and server automation tool.

Database

  • rails_db - Rails Database Viewer and SQL Query Runner

Another useful links

Contribute

Contributions welcome! Read the contribution guidelines first.

About

list of gems for rails-api starter application

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages