Top Ruby on Rails Gems for Web Apps in 2024

best ruby on rails gems

Quick Summary:

We’ve analyzed the all-time best Rails gems in this comprehensive Ruby on Rails blog. Following an in-depth overview of RoR gems, we begin exploring the gems one by one, starting with ActiveRecord, Draper, Pry, Slim, Cells, and many others. Next, you can consider this list of top ruby on rails gems you must use in rails app development.

Ruby on Rails is an outstanding framework for developing web applications with influential features that aids to increase the speed of your web application development utilizing an MVC pattern. Ruby on rails is valued for its various ready-made solutions that facilitate rapid software development. Such speed is primarily obtained through utilizing Ruby on rails gems, libraries with explicit functionalities that permit you to prolong and customize your rails application. There is a rails gem for every purpose in rails, from authorization and authentication to testing and payment processing.

According to the official report of  rubygems.org, mentions the most downloaded gems in 2021. These stats will give you an idea of the market popularity of ruby on rails and give you an idea of what ruby on rails developers are using and which rail install gem is most useful.

Let’s take a look at look a brief description of ruby on rails gems.

What are Rails Gems?

RubyGems is a Ruby package manager that includes a standard format for distributing Ruby programs and libraries (in the form of a self-contained structure known as a “gem”), a tool for managing gem installation, and a server for delivering them. During RubyConf 2004, Chad Fowler, Jim Weirich, David Alan Black, Paul Brannan, and Richard Kilmer built it.

A command-line utility controls RubyGems called a gem, which may install and manage libraries (the gems). RubyGems works with the Ruby run-time loader to locate and load gems from standardized library directories. Although a private RubyGems repository is feasible, the public repository is usually utilized for gem administration.

How To Install Gems In Ruby?

Rails gems are application libraries for the Ruby on Rails framework. Bundler can help you manage the dependencies of your Ruby on Rails application by installing all of the essential gems. With the help of the six phases listed below, we can better comprehend installing rails gems in the project.

Step One: Install Bundler

Open the terminal and cd to the program directory on internet-connected PCs, then type the following command.

$gem install bundler

Another way is once you know which gem you’d like to install, for instance, the most popular ruby on rails installation

$gem install rails

Step Two: Add Gems To Gemfile

Find the gem file in your project’s root folder and add the following commands:

source 'https://rubygems.org'

gem '[nameofgem]'

gem '[nameofgem]', '~>[versionofgem]'

gem '[nameofgem]', :require => '[spec]'

Step Three: Installing required Gems

Ask bundle to install all the gems required in the gems file using the following command:

$bundle install

But if you’re using a database in the development mode that is different from the database used in production mode, use the following command.

$bundle install --without production

Step Four: Review installed gems

To view the list of gems installed in your application:

$gem list

When you need to get the very long list of gems available on RubyGems.org, use the following command

$gem list -r

Step Five: Show Installed Bundle

To view where the particular gem is being installed, use the following command:

$bundle show [bundlename]

Step Six: Add Gemfile And Gemfile. Lock To Repository

While working with the team, add the gemfile and gemfile.lock files to your repository so that the whole team is using the same gems.

$git add Gemfile Gemfile.lock

Also Check – 10+ Top Ruby Frameworks to Use in 2024

Best Ruby on Rail Gem List

Here we have curated the list of most popular gems in ruby on rails to simplify the application’s custom rails.

1. Draper

Draper
Total Downloads
21,902,901
GitHub Stars
5K
GitForks
518
Latest Version
4.0.2
Required Ruby Version
>= 2.2.2
License
MIT
Github link
https://github.com/drapergem/draper

The first on the list of Ruby on rails gems is draper. It helps you attach an object-oriented layer of presentation logic to the rails application. For example, it helps you deal with functionality in the flow of procedural helpers or adding bulks to the model. Draper decorators provide an effective way to wrap models with presentation-related logic to organize and test this layer of the app.

Let’s  see in Ruby how to install draper gem

Installation

For the latest version, 4.0.0, draper only officially supports Rails 5.2 / Ruby 2.4 and later. Add draper to your gem file.

gem 'draper'

after adding this command, run bundle installs with your app’s directory.

2. Pry

PRY
Total Downloads
231,231,515
GitHub Stars
6.3K
GitForks
587
Latest Version
0.14.1
Required Ruby Version
>= 1.9.3
License
MIT
Github link
https://github.com/pry/pry

Designers face many issues while integrating the library, binding the gems while generating the code. During that time, they need to manage a ton of errors. In such cases, it is better to hire dedicated ROR developers with good experience rails. PRY is an ideal decision to wipe out these issues and troubleshoot the errors. This gem permits the engineers to set the breakpoint and activate code debugging bit by bit.

It accompanies an extraordinary arrangement of features, which incorporates syntax highlighting, Running invocation, command shell integration, Exotic object support, flexible and powerful command system.

Installation

Bundler

gem 'pry', '~> 0.13.1'

Manual

gem install pry

3. Active Record

Active Record
Total Downloads
327,837,517
GitHub Stars
49.3K
GitForks
19.8K
Latest Version
6.1.4
Required Ruby Version
>= 2.5.0
License
MIT
Github link
https://github.com/rails/rails/

Active Record gem is another rail of gems in the list. Using ActiveRecord-import, the bulk of records may be easily embedded. It functions as suggested by Active record affiliations while just requiring minor SQL embedded statements.

If you use dedicated devs with the right skills, they won’t have to deal with the N+1 insert issue after installing the rail gems. To upload ten records, Active Record is the best option. Using Perl to transfer a large number of records can be a daunting task. In any case, it is extremely useful for the import of external data. With ActiveRecord-based conversion, the time it takes to convert data is significantly reduced.

Installation

Install Rails at the command prompt with the following command:

$ gem install rails

4. Figaro

Figaro
Total Downloads
14,367,872
GitHub Stars
3.7K
GitForks
267
Latest Version
1.2.0
Required Ruby Version
>= 0
License
MIT
Github link
https://github.com/laserlemon/figaro/

Figaro is the greatest Rails gems application setup on Heroku. For the secure configuration of Rails-based applications, we’ll require YAML and an ENV record.

This gem shows a performance that is capable of keeping arrangement and SCM information separate from one another. It parses the YAML document and populates ENV with its contents.

Installation

Add Figaro to your Gemfile and bundle install:

gem "Figaro"

Figaro installation is easy:

$ bundle exec Figaro install

This creates a commented config/application.yml file and adds it to your .gitignore. Add your configuration to this file, and you’re done!

5. Ahoy

Ahoy
Total Downloads
14,367,872
GitHub Stars
3.7K
GitForks
267
Latest Version
1.2.0
Required Ruby Version
>= 0
License
MIT
Github link
https://github.com/ankane/ahoy

Ahoy is an analytics solution for native JavaScript and Ruby apps that can track events and visits. Because Ahoy is a Ruby engine, it isn’t considered a gem. It is in charge of creating visit tickets that include the traffic source, the origin of the location, and the customer’s device data. Customers can also think about the UTM parameters of their site visits. You may also keep track of events and visits with the software.

Installation

Add this line to your application’s Gemfile:

gem 'ahoy_matey'

And run:

bundle install

rails generate ahoy: install

rails db: migrate

Restart your web server, open a page in your browser, and a visit will be created. Track your first event from a controller with:

ahoy. track "My first event", language: "Ruby."

6. Bullet

Bullet
Total Downloads
49,479,558
GitHub Stars
6.4K
GitForks
366
Latest Version
6.1.5
Required Ruby Version
>= 2.3
Required RubyGems versions
>= 1.3.6
License
MIT
Github link
https://github.com/flyerhzm/bullet

The Bullet gem is designed to help you enhance your application’s performance by reducing the number of queries it makes. Creating your application will track your queries and alert you when eager loading (N+1 queries) should be utilized when eager loading is unnecessary and when the counter cache should be used.

Installation

You can install it as a gem:

gem install bullet

or add it into a Gemfile (Bundler):

gem 'bullet', group: 'development'

enable the Bullet gem with generate command

bundle exec rails g bullet: install

7. Slim

Slim
Total Downloads
18,160,591
GitHub Stars
5.1K
GitForks
498
Latest Version
4.0.1
Required Ruby Version
>= 2.0.0
License
MIT
Github link
https://github.com/slim-template/slim

Slim is a lightweight, fast templating engine for Rails 3 and later. All of the major Ruby implementations have undergone extensive testing. Slim parses and compiles with Temple are also included with Tilt and can be used with Sinatra or basic Rack. Temple’s design is particularly extensible, allowing the parser and compilation process to be extended without resorting to monkey-patching.

Installation

$gem install slim

Slim can be added to your Gemfile with the gem’slim’, or it can be required with the require slim. That concludes our discussion. Now all you have to do is add the. Slim extension to your URL, and you’re good to go.

8. Rails dotenv

Rails dotenv
Total Downloads
55,727,517
GitHub Stars
5.9K
GitForks
450
Latest Version
2.7.6
Required Ruby Version
>= 0
License
MIT
Github link
https://github.com/bkeepers/dotenv/

Rails dotenv is a Rails gem that loads environment variables from a dotfile located anywhere outside the main project folder. Dotenv enables the safe storage of app configuration data in this way.

Installation

Add this line to the top of your application’s Gemfile:

gem 'dotenv-rails', groups: [:development, :test]

And then execute:

$ bundle

9. Sidekiq gem

Sidekiq
Total Downloads
109,132,365
GitHub Stars
11.3K
GitForks
2K
Latest Version
6.2.2
Required Ruby Version
>= 2.5.0
License
LGPL-3.0
Github link
https://github.com/mperham/sidekiq/

Sidekiq is a simple and effective Ruby background processing tool. It employs threads to manage numerous functions in the same process simultaneously. Sidekiq isn’t dependent on Rails, but it will collaborate closely to make background processing as simple as possible.

Installation

gem install sidekiq

10. Geocoder Gem

Geocoder gem
Total Downloads
35,075,061
GitHub Star
6K
GitForks
1.1K
Latest Version
1.7.0
Required Ruby Version
>= 2.0.0
License
MIT
Github link
https://github.com/alexreisner/geocoder/releases

Geocoder gem(Ruby) is a geocoding library written in Ruby. Geocoding enhances websites by delivering location-specific information to users. Geocoder extends Rails with geocoding functionality like converting coordinates to street addresses and vice versa and calculating distances for ActiveRecord records. Because the capability does not rely on proprietary database processes, finding separate geocoded objects in a region works out of the box for databases like MySQL, PostgreSQL, and SQLite.

Installation

The Prerequisites to installing Geocoder are Ruby and RubyGems.

Geocoder gem can be installed with the following command:

gem install geocoder

Or, if you’re using Bundler for Rails, you may add this to your Gemfile:[1]

gem 'geocoder'

and run at the command prompt:[2]

bundle install

It can be used as a plugin with rails, too:[1]

rails plugin install git://github.com/alexreisner/geocoder.git

11. Kaminari gems

Kmainari gems
Total Downloads
92,587,857
GitHub Stars
8K
GitForks
1.1K
Latest Version
1.2.0
Required Ruby Version
>= 2.0.0
License
MIT
Github link
https://github.com/kaminari/kaminari/

Kmainari rails are the most widely used Rails gem, with over 5 million downloads. Everything in Kaminari may be paginated with the help of ActiveRecord. Scope and Engine is a smart, slick, powerful, and flexible paginator for Ruby web projects.

Installation

To install kaminari on the default Rails stack, just put this line in your Gemfile:

gem 'kaminari'

Then bundle:

% bundle

12. Rspec Gem

RSpec gem
Total Downloads
135,520,746
GitHub Stars
4.6K
GitForks
925
Latest Version
4.0.2
Required Ruby Version
>= 2.2.0
License
MIT
Github link
https://github.com/rspec/rspec-rails/

The RSpec gem is one of the most popular and downloaded Ruby gems. It’s ideal for creating unit tests. It’s primarily used in the circumstances including BDD and TDD. The concise syntax of RSpec makes it simple to build tests that are as natural-sounding as possible. The Rails gem can be used to test a model’s or library’s behaviour. It’s simple to use, and all you have to do to get started is install the configuration files and spec helpers.

Installation

Add rspec-rails to both the :development and :test groups of your app’s Gemfile:

# Run against this stable release

group :development, :test do

gem 'rspec-rails', '~> 5.0.0'

end

# Or, run against the main branch

# (requires main-branch versions of all related RSpec libraries)

group :development, :test do

%w[rspec-core rspec-expectations rspec-mocks rspec-rails rspec-support].each do |lib|

gem lib, git: "https://github.com/rspec/#{lib}.git", branch: 'main'

end

end

(Adding it to the: development group is not strictly necessary, but without it, generators and rake tasks must be preceded by RAILS_ENV=test.)

Then, in your project directory:

# Download and install

$ bundle install

# Generate boilerplate configuration files

# (check the comments in each generated file for more information)

$ rails generate rspec:install

create  .rspec

create  spec

create  spec/spec_helper.rb

create  spec/rails_helper.rb

13. Devise

Devise
Total Downloads
109,485,604
GitHub Stars
22K
GitForks
5.3K
Latest Version
4.8.0
Required Ruby Version
>= 2.1.0
License
MIT
Github link
https://github.com/heartcombo/devise

Devise is another gem on the ruby on rails gems list. Devise streamlines the process by integrating authentication, making it one of the most popular rails gems. When a page requires log-in authorization, most developers avoid the coding and utilize Devise instead. Database Authenticatable, Omniauthable, Confirmable, Recoverable, Registrable, Rememberable, Trackable, Timeoutable, Validatable, and Lockable are the 20 modules available. Omniauth has mostly been used to authenticate users on Facebook and Google+.

Installation

Devise 4.0 works on Rails 4.1 onwards. Add the following lines to your Gemfile:

gem 'devise'

Then run the bundle install.

Next, you need to add a generator:

$ rails generate devise: install

14. Rails_Best_Practices

Rails_Best_Practices
Total Downloads
8,529,825
GitHub Stars
4K
GitForks
282
Latest Version
1.21.0
Required Ruby Version
>= 1.9.0
Required RubyGems Version
>= 1.3.6
License
MIT
Github link
https://github.com/flyerhzm/rails_best_practices

The gem Rails_Best_Practices is one of the most distinctive Rail Gems. While it does not uncover bugs in the code, it does identify lines that may lead to future code execution issues. It includes helpful tips for enhancing code quality, such as model annotation and much more. The Rails best practices gem allows you to share test results with other professional developers and track the progress of your code over time.

Installation

gem install rails_best_practices

or you can add it to the Gemfile:

gem "rails_best_practices"

15. RuboCup

RuboCop
Total Downloads
186,856,440
GitHub Stars
11.5K
GitForks
28K
Latest Version
1.22.1
Required Ruby Version
>= 2.5.0
License
MIT
Github link
https://github.com/rubocop/rubocop/

RuboCop is a favourite among developers because it is one of the most popular RubyGems for analyzing code quality. It ensures that the web application’s code is written following the Ruby Style Guide for the best results. The style issues are notified on the command line, so there’s no room for sloppy Ruby code writing. One of the best features of RuboCop is that it automatically corrects common problems like line breaks, grammar, gaps, and more.

Installation

Rubocop has a pretty standard installation process:

$gem install rubocop

But if you want to install using Bundler, add a line to the gemfile. But make sure to set the required option to false, as it is a standalone tool.

gem 'rubocop', require: false

To prevent unwanted Rubocop updates, you might want to use a conservative version lock-on Gemfile:

gem 'rubocop', '~> 1.22', require: false

16. Paperclips

Paperclips
Total Downloads
55,986,699
GitHub Stars
9.1K
GitForks
2.3K
Latest Version
6.1.0
Required Ruby Version
>= 2.1.0
License
MIT
Github link
https://github.com/thoughtbot/paperclip

Working with file attachments can be time-consuming since it takes a lot of effort and time for the developers to secure the assignment. And it’s here that Paperclip jewels come to the rescue. It keeps a close eye on the Ruby applications’ entire procedure. It can also convert photos to thumbnails for use in custom Rails applications.

Installation

Include gem in your Gemfile:

gem "paperclip", "~> 6.0.0"

and if you want the latest paperclip repository use the following command:

gem "paperclip", git:  "git://github.com/thoughtbot/paperclip.git"

17. Delayed Job

Delayed Job
Total Downloads
28,142,317
GitHub Stars
4.7K
GitForks
1.2K
Latest Version
4.1.9
Required Ruby Version
>= 0
License
MIT
Github link
https://github.com/collectiveidea/delayed_job/

The delayed job Ruby on Rails gem is used by developers who have trouble handling longer running actions for background jobs. The job table is a gem that can be pulled directly from Shopify and handles or manages many tasks. The gem frequently arranges background activities in a list to manage them structurally in Ruby on Rails development. HTTP downloads, batch imports, and spam checks are just a few operations that a delayed job can complete.

Installation

delayed_job 3.0.0 only supports Rails 3.0+.

delayed_job supports multiple backends for storing the job queue

If you plan to use delayed_job with Active Record, add delayed_job_active_record to your Gemfile.

gem 'delayed_job_active_record'

If you plan to use delayed_job with Mongoid, add delayed_job_mongoid to your Gemfile.

gem 'delayed_job_mongoid'

Run bundle install to install the backend and delayed_job gems.

The Active Record backend requires a jobs table. You can create that table by running the following command:

rails generate delayed_job:active_record

rake db: migrate

18. CANCANCAN

CANCANCAN
Total Downloads
32,367,376
GitHub Stars
5K
GitForks
535
Latest Version
3.2.0
Required Ruby Version
>= 2.2.0
License
MIT
Github link
https://github.com/CanCanCommunity/cancancan/

CANCANCAN gem is a Rails gem that allows you to create intricate web apps by removing access controls and various rules. Helpers can use the authorization definition library to access various libraries. To make the code in Rails controllers easier to read, loading helpers are used. CANCANCAN is a Rails gem that allows you to manage your users and permissions in one location.

Installation

Add this to your Gemfile:

gem 'cancancan'

and run the bundle install command.

19. Web Packer

Web packer
Total Downloads
39,556,4250
GitHub Stars
5.3K
GitForks
1.4K
Latest Version
5.4.3
Required Ruby Version
>= 2.4.0
License
MIT
Github link
https://github.com/rails/webpacker/

Webpacker is a must-have gem for any Ruby on Rails gems list. This gem serves javascript, typefaces, and other associated components. Because it works with all of the assets in online application development, the Ruby community adores the webpacker Ruby Gem. Furthermore, in Rails 6, the Rails gem is the default. As a result, it has incredible web application support and development capabilities.

Installation

Configure new Rails application with Webpack right from the start using -J webpack command.

rails new myapp -j webpack

Or you can add it later by changing your Gemfile:

# Gemfile

gem 'webpacker', '~> 6.0'

# OR if you prefer to use master

gem 'webpacker', git: 'https://github.com/rails/webpacker.git'

yarn add https://github.com/rails/webpacker.git

Then run the following to install Webpacker:

./bin/bundle install

./bin/rails webpacker:install

20. Wicked PDF

Wicked PDF
Total Downloads
25,912,972
GitHub Stars
3.3K
GitForks
582
Latest Version
2.1.0
License
MIT
Github link
https://github.com/mileszs/wicked_pdf/

A Ruby on Rails PDFkit gem generating plugin. Wicked PDF serves a PDF file to a user using the shell function wkhtmltopdf. To put it another way, rather than dealing with a PDF creation DSL, you simply design an HTML view as you normally would, then let Wicked PDF handle the heavy lifting.

Installation

Add this to your Gemfile and run bundle install:

gem 'wicked_pdf'

Then create the initializer with

rails generate wicked_pdf

You may also need to add

Mime::Type.register "application/pdf", :pdf

to config/initializers/mime_types.rb in older versions of Rails.

Because wicked_pdf is a wrapper for wkhtmltopdf, you’ll need to install that, too.

The simplest way to install all binaries on most Linux or OSX systems is through the gem wkhtmltopdf-binary. Builds for other systems are available here. To install that gem, add this:

gem 'wkhtmltopdf-binary'

To your Gemfile and run bundle install.

21. Ruby JWT

Ruby-JWT
Total Downloads
25,920
GitHub Stars
3.2K
GitForks
341
Latest Version
2.3.0
License
MIT
Github link
https://github.com/jwt/ruby-jwt

The Ruby-JWT gem implements the RFC 7519 OAuth JSON Web Token (JWT) standard in a simple Ruby way. It is regarded as one of the safest information transfer protocols between two parties as a tool for confirming user verification. This gem is used to check whether the application server is configured to check whether an incoming JWT is generated from the authentication server.

Installation

Using Rubygems:

gem install jwt

Using Bundler:

Add the following to your Gemfile

gem 'jwt'

And run bundle install

22. Redis

Redis
Total Downloads
228,215,266
GitHub Stars
3.7K
GitForks
927
Latest Version
4.5.1
License
MIT
Github link
https://github.com/redis/redis-rb/

Redis is a Ruby-client open-source library with a BSD license. It’s a data structure store that runs in memory. This Rails Redis gem performs the functions of a database, cache, and message broker. Strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyper logs, geographic indexes with radius searches, and streams are all supported by Redis. Built-in replication, Lua scripting, LRU eviction, transactions, and many on-disk persistence levels are included in this Ruby gem. Redis also has Redis Sentinel for high availability and Redis Cluster for automatic partitioning.

Installation

Install with:

$ gem install Redis

You can connect to Redis by instantiating the Redis class:

require "redis"

Redis = Redis.new

This assumes Redis was started with a default configuration and is listening on localhost, port 6379. If you need to connect to a remote server or a different port, try:

Redis = Redis.new(host: "10.0.1.1", port: 6380, db: 15)

23. Will_paginate

will_paginate
Total Downloads
49,805,220
GitHub Stars
5.60K
GitForks
882
Latest Version
3.3.1
License
MIT
Github link
https://github.com/mislav/will_paginate/

will_paginate offers tools for rendering pagination links in Rails, Sinatra, Hanami, and Merb web projects, as well as a simple API for running paginated queries with Active Record, DataMapper, and Sequel.

Installation

To install will_paginate in Rails 3+ or other frameworks:

## Gemfile for Rails 3+, Sinatra, or Merb

gem 'will_paginate', '~> 3.3.0'

Then run bundle install. It will automatically hook into Rails or Merb on application boot.

24. Mina

Mina
Total Downloads
1,748,933
GitHub Stars
4.2K
GitForks
460
Latest Version
1.2.4
License
MIT
Github link
https://github.com/mina-deploy/mina/

Mina is a server automation and deployment tool. Mina is substantially faster than Capistrano, which is a remote server automation tool. This is because it creates a Bash script for an entire procedure and remotely runs it on the server. In addition, Mina creates one SSH session every deployment, unlike Capistrano, which runs each command separately on its SSH session. Thus, it reduces the load on SSH connections.

Installation

$ gem install mina

$ mina init

25. Pagy

Pagy
Total Downloads
3,894,118
GitHub Stars
3.2K
GitForks
283
Latest Version
5.0.1
License
MIT
Github link
https://github.com/ddnexus/pagy/

Pagy gem is agnostic pagination in plain ruby: it works with any framework, ORM, and DB type, with all types of collections, including pre-paginated, scopes, Arrays, JSON data… and pretty much anything else you can think of. Easy to use and personalize, as well as quick and light.

Installation

  1. Standalone Application
  • Ensure to have a rack installed (or gem install rack)
  • Use the pagy_standalone_app.ru(usage notes in the file)
  1. Pagy Console
  • Just gem install pagy
  • Use it fully without any app

Use it in your app

Install Pagy:

If you use Bundler, add the gem in the Gemfile, optionally avoiding the next major version with breaking changes (e.g. ‘~> 3.5’ see RubyGem Specifiers):

gem 'pagy', '~> 3.5' 
# omit patch digit and use the latest if possible

If you don’t use Bundler, install and require the Pagy gem:

gem install pagy

require 'pagy'

Wrapping Up

When developing Ruby on Rails web projects, using Ruby on Rails gems is normal to practice. The gems listed above are capable of resolving any common Rails app development difficulty. For example, uploads, file checking, authentication, and authorization difficulties can all be easily resolved using these. Furthermore, these ruby gems rails eliminate the need to reinvent the wheel for each project. Nonetheless, the gems will not solve all of your application development issues but can assist you in a smoother and faster development process.

have a unique app Idea?

Hire Certified Developers To Build Robust Feature, Rich App And Websites

This post was last modified on December 12, 2023 6:08 pm

Saurabh Barot: Saurabh Barot, CTO at Aglowid IT Solutions, brings over a decade of expertise in web, mobile, data engineering, Salesforce, and cloud computing. Known for his strategic leadership, he drives technology initiatives, oversees data infrastructure, and leads cross-functional teams. His expertise spans across Big Data, ETL processes, CRM systems, and cloud infrastructure, ensuring alignment with business goals and keeping the company at the forefront of innovation.
Related Post