Today, we want to tell you about the second part of the article. Here we are going to uncover top Ruby gems we use in the following web development spheres: uploading file, search, admin panels, and other awesome gems.
Quite often, we face with creating web applications that provide users with an opportunity to upload files, like images and documentation. In order to create the most convenient and user-friendly feature, we use the following gems.
Carrierwave is a perfect library for uploading and processing files for Rails, Sinatra and other Ruby frameworks. Carrierwave provides an opportunity to create versions, add, remove and upload them from a remote location.
Carrierwave backgrounder cooperates with carrierwave. It gives an opportunity to move image processing or compressing into the background. Up to date, it provides support for Delayed Job, Resque, Sidekiq, SuckerPunch, Girl Friday, Qu, and Queue Classic.
MiniMagick stands for a small alternative of RMagick. This library provides an opportunity to reduce Ruby processes memory. It provides you with all the command line options of ImageMagick.
Most commonly, the application includes a large amount of information. In such a situation, the searching for a required data might be a tedious task. In order to create a highly productive and effective search option, we use the following tool.
Elasticsearch is a well-known search system widely used in most applications. The tool integrates the Elasticsearch engine into Rails applications with its full set of features, including the full-text search option.
Quite often, creating an advanced web application usually involves controlling and managing a huge amount of data. The following gems provide our team with an opportunity to implement an effective database administration system.
Activeadmin refers to the Ruby on Rails framework for creating elegant backends for website administration. The plugin provides an opportunity to create administration style interfaces.
Administrate stands for a Rails engine. It allows you to create a user-responsive admin dashboard. Up to date, we haven’t experienced it yet, however, we are exploring its opportunities and we want to implement it in the future projects.
Furthermore, we want to tell you about additional gems that you may find useful and interesting. The list order is formed according to their popularity (a number of stars on Github).
Sidekiq is a mild and effective background processing tool for Ruby. It provides threads to control and manage many functions in the same process simultaneously. Whereas Sidekiq does not require Rails, it cooperates with Rails to clarify background processing.
Simple_form refers to a tool which combines convenient DSL for forms construction on Rails. It's tied to a simple DSL, with no opinion on the markup. Simple Form focuses on flexibility and assistance with effective parts for forms building.
Friendly_Id provides great assistance when working with permalink plugins for ActiveRecord. It allows creating readable good-looking URLs and managing human-friendly strings as if they were digital ids for ActiveRecord models.
Dotenv-rails is a Ruby gem to load environment variables from a dotfile which can be outside the main project folder. This way, Dotenv allows safely storing the app configuration data.
Slim stands for a template language attempting to reduce the syntax to the essential code elements without becoming cryptic. It started as an exercise to see how much could be removed from a standard HTML template. The more people showed interest in Slim, the more functionality grew along with the flexibility of the syntax.
Draper attaches an object-oriented layer of presentation logic to a Rails application. Draper helps deal with this functionality in the flow of procedural helpers or adding bulks to models.
Redis is a BSD licensed Ruby-client open source library. It represents an in-memory data structure store. The gem is used as a database, cache and message broker. Redis provides support for data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams.
I18n- tasks is a gem for working with translation in an app. It can be applied with any project that’s using the Ruby I18n gem which is default in Rails. It provides an interface for working with locales, helps find missing translations, normalize files with translations, and add new translations via Google translate API.
In this chapter, we have provided you with various Ruby gems that we implement in different development spheres. They all help us create an easy-to-use and efficient file uploading system, build and implement an extensive search feature, provide the project owner with a comprehensive admin panel, etc.
Surely, you can find tons of Ruby gems, and each of them is useful and efficient for a particular task. Notwithstanding that we have solid experience in Ruby programming, we learn more and more useful gems and the opportunities they provide daily. We hope our Ruby on Rails gems list will help you with your projects.
Stay tuned and read the full article version here: 40 Best Ruby Gems That We Use.