Rails: A Gem of Gems
Note: This post is intended as a supplement to WTF Just Happened? A Quick Tour of Your First Rails App.
Rails: A Gem of Gems
In a previous article, Gems and Bundler, I described Rails as a gem for building web applications. To be totally correct, Rails is more accurately described as a gem of gems.
A standard Rails application depends on several gems, specifically:
- actionmailer A framework for designing email service layers. You could think of it as a wrapper around Action Controller and the Mail gem.
- actionpack A framework for handling and responding to web requests. It provides mechanisms for routing (mapping request URLs to actions), defining controllers that implement actions, and generating responses by rendering views, which are templates of various formats. In short, Action Pack provides the view and controller layers in the MVC paradigm.
- actionview A framework for handling view template lookup and rendering, and provides view helpers that assist when building HTML forms.
- activemodel Provides a known set of interfaces for usage in model classes.
- activerecord Connects classes to relational database tables to establish an almost zero-configuration persistence layer for applications.
- activesupport A collection of utility classes and standard library extensions that are useful for the Rails framework.
- activejob A framework for declaring jobs and making them run on a variety of queueing backends.
- arel It represents SQL queries as objects rather than strings.
- builder Provides a simple way to create XML markup and data structures.
- bundler A gem dependency manager.
- erubis An alternative to ERB for rendering views.
- i18n A set of common locale data and translations to internationalise and/or localise your application.
- mail An internet library for Ruby that is designed to handle the generation, parsing and sending of emails.
- mime-types p\Provides a library and registry for information about MIME content type definitions.
- rack An interface for developing web applications in Ruby. By wrapping HTTP requests and responses, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.
- rack-cache Enables HTTP caching for Rack-based applications that produce freshness (Expires, Cache-Control) and/or validation (Last-Modified, ETag) information.
- rack-mount A stackable dynamic tree based Rack router.
- rack-test A testing API for Rack apps.
- rails A full-stack web framework optimised for programmer happiness and sustainable productivity.
- railties The core of the Rails framework and provides hooks to extend Rails and/or modify the initialization process. Every major component of Rails (Action Mailer, Action Controller, Active Record, etc.) implements a railtie. Each of them is responsible for their own initialization.
- rake A standalone Ruby utility that replaces the Unix utility 'make', and uses a 'Rakefile' and .rake files to build up a list of tasks.
- sqlite3 Allows Ruby programs to interface with the SQLite3 database engine.
- thor A tool for building self-documenting command line utilities.
- tzinfo Provides transformations between times in different timezones, allowing for daylight savings where applicable.
Latest Articles by Our Team
Our expert team of designers and developers love what the do and enjoy sharing their knowledge with the world.
-
No app left behind: Upgrade your application to Ruby 3.0 and s...
-
A look forward from 2020
-
Testing Rails applications on real mobile devices (both design...
We Hire Only the Best
reinteractive is Australia’s largest dedicated Ruby on Rails development company. We don’t cut corners and we know what we are doing.
We are an organisation made up of amazing individuals and we take pride in our team. We are 100% remote work enabling us to choose the best talent no matter which part of the country they live in. reinteractive is dedicated to making it a great place for any developer to work.
Free Community Workshops
We created the Ruby on Rails InstallFest and Ruby on Rails Development Hub to help introduce new people to software development and to help existing developers hone their skills. These workshops provide invaluable mentorship to train developers, addressing key skills shortages in the industry. Software development is a great career choice for all ages and these events help you get started and skilled up.