More Information Ruby On Rails

Rails 6 gets Action Mailbox And Parallel Testing

There’s a major update to Ruby on Rails that adds an action mailbox, action text, ability to use multiple databases, and parallel testing. The new version also supports Webpacker by default and Zeitwerk.

Ruby on Rails is a web-application framework written in Ruby. It’s intended for creating database-backed web apps using the model–view–controller framework.

The new action mailbox framework lets you route incoming emails to controller-like mailboxes for processing in Rails. It comes with the ability to work with mails from Amazon SES, Mailgun, Mandrill, Postmark, and SendGrid. You can also handle inbound mails directly via the built-in Exim, Postfix, and Qmail ingresses.

Action text is another framework, this time providing support for rich text content and editing in Rails. It uses the Trix editor for much of its functionality, including formatting, handling links, lists, embedded images and galleries. The rich text that’s generated is saved in its own RichText model that’s associated with any existing Active Record model in the application.

There’s better support for multiple databases so apps can connect to more than one database at once. The support comes via a simple API.

Parallel testing support has also been added to this release. This means you can make use of multiple cores so large test suites run faster. Each testing worker gets its own database and runs in its own thread.

Other improvements include a change to use Webpacker as the default JavaScript bundler for Rails through the new app/javascript directory. The developers say they’re still using the asset pipeline with Sprockets for CSS and static assets, and have found that the two:

“integrate very nicely and offer the best trade-off of advanced JavaScript features with an it-just-works approach to other assets.”

The new release has also moved to use Xavier Noria’s new Zeitwerk code loader for Ruby. Elsewhere, Rails has action cable testing; the Action Cable JavaScript has been rewritten in ES6, and the new version offers protection against DNS rebinding attacks.

More Information