Useful links for Rails Upgrade

Tools, guides, tips, checklists and other helpful info for Rails update
19 June 2017   2247

New RoR release brings many new features, better security, and increased performance. But depending on many factors, it's often not easy to upgrade your version. When you finally decided, you want it to be fast and safe.

In order to make update process comfortable, here is the list helpful tools, guides, checklists and other resources about updating Ruby. Some of them are related only for 4.x or 5.x, other are universal.

Universal resources

Ruby on Rails

Framework written in the Ruby programming language
 

Ruby

Dynamic, open source programming language with a focus on simplicity and productivity

List of the resources, that will help with update of any version.

Rails Official Release Guides

rails guidesRailsGuides interface

First place you should begin to search info about Rails update is the official release guides. With the newest version of Rails new guide is also uploaded. Guides are available from 3.0 up to 5.1. These materials are useful for covering the basic changes of each version and for handy tips. 

Rails Upgrate Checklist

Rails Upgrate Checklist
Rails Upgrade Checklist interface

Rails Upgrade Checklist is one of the most useful resources for anyone, who needs his Rails to be updated. Provides a starting point and helps to plan steps of your Rails update, depending on a version. At the moment, this check list is only for Rails 4 or lower. You can create pull requests to update the list here

RailsDiff

RailsDiff interface
RailsDiff interface

Very useful resource, that helps to find Rails documentation for each release. It covers all Rails code change from 2.3.6 to 5.1.1. Website provides line by line demonstration of changes in Rails app. For every separate Gem you use, you will have to make a test in your app. For someone that faced first update or for someone with no clue where to begin, RailsDiff is great tool.

Stackoverflow

StackoverflowStackoverflow interface

Stackoverflow is well known as a helping resource, driven by community. Here you can ask any questions, regarding Ruby and Rails. Also, there's a lot of ready-made answers for every issue. For example, big thread about update from 4.2.6 to 5.0.

Reddit

Rails section at Reddit
Rails section at Reddit

Same as StackOverflow, Reddit is community driven resources with answers to large amount of web development issues. It has Rails community, when you can ask both technical and career questions, Rails update issues is not exception. 

Updating to Rails 5.x

Next links will be helpful for those, who plans to upgrade their Rails to version 5.0 or higher.

Is a gem ready for Rails 4 or 5?

ready4rails interface
Ready4rails interface

By using this interesting website, you can figure out, are your key gems ready for upgrade or not. You can find what gems will cause conflicts and which ones are ready for upgrade. If some of your gems aren't ready for an update, it's good to wait for an update then look for another solution.

To stay updated on security files and other updates, you can use VersionEye tool. This solution checks your Git repository and informs you with any changes. 

Updating to Rails 5.0 by Daniel Kehoe

Updating to Rails 5.0 by Daniel Kehoe
Updating to Rails 5.0 by Daniel Kehoe

This big article-tutorial covers the topic of using RVM for managing of Rails version. You are free to use chruby or rbenv or you can follow exactly for Ruby Version Manager.

Rails 4.x and higher upgrade

If your Rails are few versions below, it is necessary to upgrade them. The easiest way is to  go version by version. Here are some helpful resources for apps, that are on 3.x version.

Book "Upgrade to Rails 4" by Philip De Smedt

Upgrade to Rails 4
"Upgrade to Rails 4" cover

This ebook includes 32 chapters on different Rails 4 features, along with a detailed checklist for upgrading. It is good to have all necessary info by the hand when you are doing an update.

Screencast "Upgrading to Rails 4" 

Upgrading to Rails 4 screencast 
Upgrading to Rails 4 screencast 

RailsCast is great resource for those, who like to learn visual. If you're updating your Rails to 4.x, RailCast created a screencast displaying the process for updating. The video takes you through the spots with main changes, and you can watch in real time.

How to Upgrade to Rails 4.2 by Justin Weiss

How to Upgrade to Rails 4.2 by Justin Weiss webpage
How to Upgrade to Rails 4.2 by Justin Weiss webpage

Justin provides some good tips for upgrading a Rails app to version 4.2. This tutorial shortly covers testing, Rails gem updates, and more. It doesn’t dig into the deep details, but is a good proffesional view of the best strategy for upgrading.

How To Upgrade a Big Legacy App to Rails 4

HOW TO UPGRADE A BIG LEGACY APP TO RAILS 4 webpage
How To Upgrade a Big Legacy App to Rails 4 webpage

If you’re planning an upgrade for a big app, this article will give you overview how one team did it. This covers the creating of the development team, how good planning played a big role in the update, and the technical updates that were made along the way. If your team isn’t planning an update, this article also helps explain resource allocation and how features and technical stuff were balanced. 

When I update rails, my go-to solution is Rails Diff. Also Rails Guides is a must-see resource since it’s written by the new features authors. Stackoverflow happens all the time since many gems are not so up to date, so sometimes Google sends me there first. Never used reddit btw.
 

Dima Koprov
Team Lead at Evrone

What link was the most useful for you?

RailsDiff
100% (1 vote)
Rails Official Release Guides
0% (0 votes)
Rails Upgrate Checklist
0% (0 votes)
Stackoverflow
0% (0 votes)
Reddit
0% (0 votes)
Updating to Rails 5.0 by Daniel Kehoe
0% (0 votes)
Is a gem ready for Rails 4 or 5?
0% (0 votes)
Book “Upgrade to Rails 4” by Philip De Smedt
0% (0 votes)
Screencast “Upgrading to Rails 4”
0% (0 votes)
How to Upgrade to Rails 4.2 by Justin Weiss
0% (0 votes)
How To Upgrade a Big Legacy App to Rails 4
0% (0 votes)
Total votes: 1

RubyMine 2018.2 to be Released

Great news for Ruby developers - new version of popular IDE available now
27 July 2018   191

Major summer update of the integrated development environment RubyMine from JetBrains under the number 2018.2 released. Among the innovations - improving the work with the code, support for new version managers, re-testing only for failed tests and much more.

Code analysis

The new version of IDE has received an improved type inference that allows to better read the types of elements in blocks, arrays and hashes. This feature improves code autocompletion and navigation throughout the project:

Element CompletionElement Completion

In addition, RubyMine now correctly recognizes models using polymorphic associations, and offers them full support for "smart" functions.

Version Managers

The updated development environment now supports chruby and asdf. Moreover, now all version managers are available in WSL, Docker, SSH and other remote connections.

Testing

RubyMine 2018.2 allows you to retest only those tests that have not been tested. According to the developers, this frees the user from manually viewing each failed check. The new function also works with the rake test and rake spec presets:

Rerun Failed Tests
Rerun Failed Tests

YAML

In this update, developers paid attention to the YAML data serialization format. Now its code can be formatted directly in the IDE and use all the functions of autocomplete and navigation by code. Moreover, the new version of RubyMine provides automatic filling of YAML data structures that have JSON Schema files, and the ability to copy / paste the key path to the value in .yml files.

Git

Support for version control in RubyMine 2018.2 has received several new features:

  • files with a merge conflict are now grouped in a separate node;
  • a new action Browse Repository at Revision allows you to examine the state of the repository after each revision;
  • It was possible to skip the Push action during the Commit and Push command or use it only for protected branches;
  • you can connect an unlimited number of accounts to GitHub and select the main one for each project.

Other improvements

In addition to general performance improvements, the new version of IDE brought new icons, a dark theme for MacOS, support for the Touch Bar, improved support for JS, TypeScript and CoffeeScript, which you can see in the overview of the WebStorm 2018.2 IDE update, and connect the debugger to remote processes without having to reboot .