After several teasers and beta versions, Rails 6.0 was finally launched at the RailsConf 2019, bringing with it several new features and enhancements that promise Ruby on Rails (ROR) developers better performance and better apps. For the uninitiated, ROR is an open source framework that’s primarily being used by Ruby on Rails development companies for web development and app development services. ROR allows Ruby on Rails developers to develop apps 35 – 45% faster than other framework, and supports intuitive and easy coding in ROR projects.
So what’s in store for Ruby on Rails developers with the all-new Ruby on Rails 6.0? Let’s take a look:
Action Test is all about integration between an Active Storage-backed file, Trix editor and image processing. They are all combined by a Ruby on Rails developer using a text processing flow. Action Test has a rich text method that is applied to models, and it requires database tables and Active Storage to manage its metadata. Of course, app developers need to switch to an Active Storage provider that will not move to disk when they are building apps requiring multiple servers.
Parallel Testing was a slightly difficult function when ROR developers needed to introduce a separation between interference and processes with the database. But with Rails 6.0, Parallel Testing has become easier. It has been built by the GitHub team and can prove to be very useful when ROR developers need to run hard tests for their application. Parallel Testing in ROR projects leverages multiple cores in a system and helps speed up the testing suite. Each Ruby on Rails developer gets his own database and runs its own thread.
It’s a new middleware and small, albeit useful, feature in Rails 6.0, and helps safeguard ROR projects against DNS rebinding attacks by specifically managing the authorization of various hosts that will receive requests.
Purpose metadata for signed/encrypted cookies
Rails can prevent any attacks that attempt to copy encrypted/signed value of a cookie and then use it as the value of another cookie. It performs this by stashing the cookie name in the purpose field which is then encrypted along with the cookie value. After that, on the server-side read, the cookie-names are verified and it discard any attacked cookies.
Rails 6.0 comes with several instrumentation hooks built into the Active Support feature, and is spread over the whole ROR framework. This allows app developers to subscribe specific events and build throughout the lifecycle of SQL queries, requests and jobs.
Action Mailbox basically routes incoming emails to controller mailboxes within Rails 6.0, allowing Ruby on Rails apps to integrate easily with inbound mails. Action Mailbox has been extracted from Basecamp 3, and is formed of communication that happens automatically in both email and platforms, making it easier to manage tickets and GDPR requests. Action Mailbox ships with access from Amazon SES, Mailgun, Mandrill, Postmark and SendGrid, and has replaced Action Mailer in the receiving end.
Another small feature, Active Storage helps developers uploaded files assigned to a record are lad them to storage, enabling the record to be saved immediately.
This feature allows app developers to get Rails to report on allocations made in views, because it helps app developers understand how much time they need to invest on allocation and garbage collection objects.
Action Cable is perhaps the most interesting new feature in Rails 6.0. Users can easily test Action Cables for multiple functionalities at any level. These include:
- Connections – tests if the connection’s identifiers are assigned properly
- Channels – asserts the channel subscribes to a particular stream
- Broadcasts – check if the message has been broadcasted inside other components
This too has been extracted from Basecamp’s code. Action Text promises to make writing, editing and displaying text in a Rails app very easy, because the Trix editor in Action Text handles the formatting, quotes and adding of links to embedded images. The embedded content is automatically stored by the Active Storage and included with a separate Rich Text model.
Support for Multiple Databases
Rails 6 provides an API for multiple databases support which will allow the ROR project to easily connect to and switch between multiple databases simultaneously without digging deep into Active Record. This is a huge step because before Rails 6.0, the database configuration scenario was complex, lengthy and would function as read-only to the app. Previous solutions for this included AR Octopus, which further inspired Rails 6.0 to provide an API for supporting multiple databases support.
Default Bundler – Webpack
You might also like
Ruby on Rails is a mature project and it is expected that adding game-changing features and framework functionalities is going to get increasingly difficult. A few of the new features in Rails 6.0 seem like minor improvements, while others have the potential to save a lot of development time, improve security, and allow app developers to do much more. Though some of the features of Rails 6.0 have been criticized and have been blamed for taking ROR developer focus away from actual framework performance, a larger number of users are happy with the new and improved Rails version. What’s certain is that app developers remain positive about the future of Rails and the new release has only made their work easier.
If you’re looking to hire Ruby on Rails developers, just give us a shout. DigiFutura has recently been selected as one of the top web developers in India by Clutch in their 2019 report. We promise you the best talent in the industry at the most competitive prices.