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.
Understanding technical debt in software and why you should re...
Is your Application Accessible for everyone to use?
Four simple steps to ensure the success of your Salesforce imp...
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.
Webinars are our online portal for tips, tricks and lessons learned in everything we do. Make the most of this free resource to help you become a better developer.
The Ruby on Rails Installfest includes a full setup of your development environment and step-by-step instructions on how to build your first app hosted on Heroku. Over 1,800 attendees to date and counting.
The Ruby on Rails Development Hub is a monthly event where you will get the chance to spend time with our team and others in the community to improve and hone your Ruby on Rails skills.