Skip to content

A collection of awesome Ruby Gems for Rails development.

Notifications You must be signed in to change notification settings

Bahanix/awesome-rails-gem

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Rails Gem Awesome

A collection of awesome Ruby Gems for Rails development.

The goal is to help every Rails developer to build an awesome Rails product/service.

User

Authentication

  • Devise - Devise is a flexible authentication solution for Rails based on Warden.

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.
  • cancancan - je déconseille, en faveur de Pundit.
  • rolify - Role management library with resource scoping.

Omniauth

Active Record

  • Enumerize - Enumerated attributes with I18n and ActiveRecord/Mongoid support. It can be integrated with Simple Form.
  • counter_culture - Turbo-charged counter caches for your Rails app. Huge improvements over the Rails standard counter caches.
  • Sequenced - Sequenced is a simple gem that generates scoped sequential IDs for ActiveRecord models.
  • FriendlyId - FriendlyId is the “Swiss Army bulldozer” of slugging and permalink plugins for ActiveRecord. It allows you to create pretty URL’s and work with human-friendly strings as if they were numeric ids for ActiveRecord models.
  • state_machines Adds support for creating state machines for attributes on any Ruby class
  • PaperTrail - PaperTrail lets you track changes to your models' data. It's good for auditing or versioning.
  • paranoia - je déconseille le "soft delete" pour des raisons de performance, utilisez une table spécialisée pour stocker vos archives.
  • Validates - Validates provides collection of useful custom validators for Rails applications, including:
    • EmailValidator
    • UrlValidator
    • SlugValidator
    • MoneyValidator
    • IpValidator
    • AssociationLengthValidator
    • AbsolutePathValidator
    • UriComponentValidator
    • ColorValidator
    • EanValidator (EAN-8 & EAN-13)
  • globalize - Rails I18n de-facto standard library for ActiveRecord model/data translation.
  • social_shares - Check how many times url was shared in social networks.
  • public_activity - Easy activity tracking for models - similar to Github's Public Activity.
  • ActsAsTaggableOn - je déconseille, en faveur d'un champ de type Array avec PostgreSQL.

Plugins

  • Spreadsheet - Library is designed to read and write Spreadsheet Documents.
  • Chartkick - Chartkick helps your to create beautiful Javascript charts with one line of Ruby.
  • kaminari - A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for Rails 3 and 4.
  • CKEditor - CKEditor is a WYSIWYG text editor designed to simplify web content creation. It brings common word processing features directly to your web pages. Enhance your website experience with our community maintained editor. ckeditor.com
  • HTML::Pipeline - GitHub HTML processing filters and utilities. This module includes a small framework for defining DOM based content filters and applying them to user provided content.
  • Slack Notifier is a simple wrapper to send notifications to Slack webhooks.
  • Rails ERD - Generate Entity-Relationship Diagrams for Rails applications.
  • Parity - Shell commands for development, staging, and production parity for Heroku apps.

API

  • Grape - Microframework to create REST-ful APIs in Ruby.
  • 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.
  • rest-client - Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.
  • has_scope - Map incoming controller parameters to named scopes in your resources.
  • 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.

Email

  • letter_opener - Preview mail in the browser instead of sending.

File Uploading

  • paperclip - Easy file attachment management for ActiveRecord.
  • remotipart - Rails jQuery file uploads via standard Rails "remote: true" forms.
  • MiniMagick - MiniMagick is a ruby wrapper for ImageMagick or GraphicsMagick command line.
  • fog - Fog is the Ruby cloud services library, top to bottom.
  • refile - Refile is a modern file upload library for Ruby applications. It is simple, yet powerful.

Searching

  • ransack - Ransack enables the creation of both simple and advanced search forms for your Ruby on Rails application.
  • elasticsearch-rails - Elasticsearch integrations for ActiveModel/Record and Ruby on Rails.
  • Chewy - High-level Elasticsearch Ruby framework based on the official elasticsearch-ruby client.
  • Chewy_Kiqqer - This is an alternative update/callback mechanism for Chewy. It queues the updates as Sidekiq jobs.
  • pg_search - pg_search builds ActiveRecord named scopes that take advantage of PostgreSQL's full text search
  • searchkick - Intelligent search made easy with Rails and Elasticsearch.

Scheduled/Recurrence Jobs

  • Whenever - Whenever is a Ruby gem that provides a clear syntax for writing and deploying cron jobs.
  • Resque - je déconseille, en faveur de Sidekiq.
  • Delayed Job - je déconseille, en faveur de Sidekiq.
  • Sidekiq - Simple, efficient background processing for Ruby.
    • sidetiq - Recurring jobs for sidekiq.
  • Sucker Punch - Sucker punch is a single-process Ruby asynchronous processing library.

View Helper

  • formtastic - je déconseille, prenez le temps de faire vos formulaires à la main, vous finirez toujours par devoir le faire.
  • Simple Form - je déconseille, prenez le temps de faire vos formulaires à la main, vous finirez toujours par devoir le faire.
  • Nested Form - This is a Rails gem for conveniently manage multiple nested models in a single form. It does so in an unobtrusive way through jQuery or Prototype. It can also be integrated with Simple Form.
  • meta-tags - Search Engine Optimization (SEO) plugin for Ruby on Rails applications.
  • active_link_to - active_link_to adds css 'active' class to your links.

Environment Variables

  • Config - je déconseille, en faveur de Figaro.
  • Figaro - Figaro is very simple, Heroku-friendly Rails app configuration using ENV and a single YAML file.
  • dotenv - je déconseille, en faveur de Figaro.

Admin Panel

  • ActiveAdmin - ActiveAdmin is a administration framework for Ruby on Rails applications.
  • RailsAdmin - RailsAdmin is a Rails engine that provides an easy-to-use interface for managing your data.

Logging

  • Impressionist - Impressionist can log page impressions (technically action impressions), but it is not limited to that. You can log impressions multiple times per request. And you can also attach it to a model. The goal of this project is to provide customizable stats that are immediately accessible in your application as opposed to using Google Analytics and pulling data using their API.
  • Ahoy - Ahoy provides a solid foundation to track visits and events in Ruby, JavaScript, and native apps.
  • Lograge - An attempt to tame Rails' default policy to log everything.

Debug

  • byebug - Byebug is a simple to use, feature rich debugger for Ruby 2. It uses the new TracePoint API for execution control and the new Debug Inspector API for call stack navigation, so it doesn't depend on internal core sources.
    • pry-byebug - Pry navigation commands via byebug.
  • pry-rails - Avoid repeating yourself, use pry-rails instead of copying the initializer to every rails project. This is a small gem which causes rails console to open pry. It therefore depends on pry.
  • awesome_print - Awesome Print is a Ruby library that pretty prints Ruby objects in full color exposing their internal structure with proper indentation.
  • web-console - Web Console is a debugging tool for your Ruby on Rails applications.
  • spring - Spring is a Rails application preloader. It speeds up development by keeping your application running in the background so you don't need to boot it every time you run a test, rake task or migration.
  • rails-footnotes - Rails footnotes displays footnotes in your application for easy debugging, such as sessions, request parameters, cookies, filter chain, routes, queries, etc.
  • g - The Kernel.g that works like Kernel.p by using terminal-notifier or growl.
  • terminal-notifier - terminal-notifier is a command-line tool to send Mac OS X User Notifications, which are available in Mac OS X 10.8 and higher.
  • letter_opener - Preview email in the default browser instead of sending it. This means you do not need to set up email delivery in your development environment, and you no longer need to worry about accidentally sending a test email to someone else's address.
  • Better Errors - Better errors replaces the standard Rails error page with a much better and more useful error page.
    • If you would like to use Better Errors' advanced features (REPL, local/instance variable inspection, pretty stack frame names), you need to add the binding_ _of__caller.
  • RailsPanel - RailsPanel is a Chrome extension for Rails development that will end your tailing of development.log.

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 - je déconseille, en faveur de la syntaxe déjà en place dans Ruby on Rails.
  • Capybara - Capybara helps you test web applications by simulating how a real user would interact with your app. And drivers:
    • capybara-webkit - Capybara-webkit is a capybara driver that uses Webkit via QtWebkit.
    • selenium-webdriver - Selenium-webdriver provides ruby bindings for WebDriver.
    • poltergeist - Poltergeist allows you to run your Capybara tests on a headless WebKit browser, provided by PhantomJS.
    • page-object - Page-object is a simple gem that assists in creating flexible page objects for testing browser based applications.
  • factory_girl - je déconseille, en faveur des fixtures déjà en place dans Ruby on Rails.
  • 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.
  • shoulda-matchers - je déconseille, en faveur de la syntaxe déjà en place dans Ruby on Rails.
  • ResponseCodeMatchers - ResponseCodeMatchers provides rspec matchers to match http response code.
  • SimpleCov - SimpleCov is a code coverage analysis tool for Ruby.
  • Timecop - A gem providing "time travel" and "time freezing" capabilities, making it dead simple to test time-dependent code.

Production

  • Capistrano - Remote multi-server automation tool.
  • Slowpoke - Rack::Timeout is great. Slowpoke makes it better.
  • Rack Attack - Rack middleware to blocking & throttling.
  • Responders - A set of Rails responders to dry up your application.
  • production_rails - Best practices for running Rails in production.

Error Logging

  • Rollbar - Exception tracking and logging from Ruby to Rollbar.
  • Airbrake - Notifier gem for integrating apps with Airbrake
  • Errbit - Open source notifier gem compliant with Airbrake.

Contribute

Contributions welcome! Read the contribution guidelines first.

About

A collection of awesome Ruby Gems for Rails development.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%