Rails Upgrade Challenges 

 

As you may already know, Rails 5.1 has brought a lot of new and cool features. You can find a complete description of the release notes here. The upgrade has addressed various performance improvements and security issues. And, of course, all the deprecated code has been removed. However, this article is not about another new version of Rails. The community has already published a ton of posts about that. Instead, we’re going to talk about the challenges you may encounter when upgrading a Rails application. By the way, here are some useful links:

 

The lack of test coverage

Of all the challenges you may encounter during the upgrade process, the lack of test coverage is probably the most painful one. Still, even if you did receive a project that hadn’t been properly tested, there is no reason to panic. Take a deep breath and start with writing tests for the basic functionality. Doing that is the least you can do to ensure the integrity of the upgrade process.

Using obsolete routing in old apps

In some apps, routing may be organized through “match”. In addition to being rather old, such an approach has a negative impact on the performance of the application. The best solution here is to rewrite the routing. But before you jump into doing that, you should know that it’s a complex and time-consuming process. So, be sure you have a clear understanding of the exact steps to take.  

Asset Pipeline and manifests

When it comes to manifests, most of the guides insist on using a straightforward approach like the following: “...paste this piece of code there”, “...gather everything in a manifest”, “...now that you have UJS, you can use it”. Despite being consistent, guides like these may not always fit in your particular case. In older versions of Rails, assets are usually poorly structured and as a result organized differently. So when you start gathering your manifests, be prepared to find styles and scripts in the most unexpected places. And, if that’s the case, simply piling all the assets won’t be the best idea. What you should do, though, is make changes gradually and check results after each iteration.

Gem dependencies

If your Rails application is dependent on a couple of third-party Ruby gems, there is a chance you may not be able to upgrade right off the bat. Ideally, gem maintainers are supposed to test their project with a pre-release Rails version so that the gem would be fully compatible by the time the final version of Rails is released. However, in a real world setting, gems that are developed less actively often take more time as well as testing to release.

Ensuring app integrity

There is no point in using the most innovative technologies and up-to-date style guides if the application ultimately fails to work as expected. The more application updates there are to roll out, the higher the risk is of skipping some bugs is. This is especially true for applications that are being used by tens of thousands people daily. We’re talking about online stores with wide product ranges, dozens of catalogs and other complex functionality. In such case, one tiny mistake can easily cause permanent damage leading to significant financial and customer loss. That’s why it’s highly important to take additional measures to ensure application integrity.

 

In conclusion

Upgrading is an essential part of Rails application maintenance. Ideally, you should always keep your application up-to-date. After all, it’s the only way you can receive all the newest bug fixes and security patches. However, every application is different. So, the first thing you need to do before actually going for an upgrade is decide if it’s really worth the hassle. If a newer version of Rails comes with features that can clearly benefit your application, then there is no reason why you should hesitate. But if you’re planning to upgrade only for the sake of being ahead of the curve, there is a big chance your efforts may not pay off in the end. At the same time, this doesn’t mean you should avoid the procedure at all. You can read about the consequences of delaying an upgrade in the article by this link. Briefly, the older the version of Rails you use and the longer you wait to upgrade, the more vulnerable your application becomes. What’s more important, this can lead to things like reputation damage, loss of time, potential loss of control over the development processes, legal complications, loss of customers and more.

 

Most Recent

Strip URL of path and query string
appdevdigest.com

Mike Abdullah: Sometimes you might want to strip a URL back so it has no path, parameter, query or fragment. e.g. to go from: http://example.com/path;param?query#fragment to: http://example.com/ Heres the trick. Related posts: How to Parse an NSURL Object URL path cheatsheet How to escape (URL encode) host names

39
Like
Save
Quartz Composer introductory tutorials
appdevdigest.com

David OBrien has published a series of video tutorials using Quartz Composer. Related posts: Quartz composer for iOS Quartz composer for iOS iOS 6 by tutorials: Learn The Latest iOS 6 APIs By Example

35
Like
Save
Building Cross-Platform Apps with HTML5 | Intel® Developer Zone
appdevdigest.com

Rather than becoming an expert in a deluge of programming technologies—C# and Windows APIs and Visual Studio*; Objective-C and iOS* APIs and Xcode*; Java* and Android APIs and Eclipse*; and so forth—you can take advantage of cross-platform HTML5 If youre using HTML5 today to build rich, interactive web pages (or web apps) then youre [...]

11
Like
Save
OS X Mavericks Server Golden Master Seeded Ahead of October 22 …
appdevdigest.com

The new features in Xcode Server make it easier than ever for a Mac or iOS development team to create robust, reliable software, thanks to continuous integration, testing, and repository hosting services. Caching Server 2 speeds up the download and delivery of software through the App Store, Mac App Store, and iTunes Store, and it [...]

13
Like
Save
Create me an iOS apps | iPhone | Mobile Phone – Freelancer.com
appdevdigest.com

This app would be a game app. I have my idea, You need to develop it from the ground. I have some experience in it, but not enough. So please write me if You have very good knowledge in application development and apps selling. Regards 

21
Like
Save
10 iOS Apps for Mobile Development – Web Design Views
appdevdigest.com

App Builder is not so much for developing the perfect mobile UI as it is an app that allows you to get your app design ideas down so that you can access them later on your iPhone. User ability is friendly that both beginners 

31
Like
Save
5 Must Read Books For IOS App Developers | Web Development …
appdevdigest.com

The Core iOS 6 Developers Cookbook by Erica Sadun. The book is full of “delicious recipes” for everyone who wishes to develop applications for iPhone. It covers the core information on interface elements and designing iOS 

5
Like
Save
Instantly grab a high-res icon for any iOS app using LaunchBar – Blog
appdevdigest.com

To assist in this process, I wrote a quick script to allow me to search for an iOS app by name and instantly write its 1024px version (or the highest resolution available) to the current directory in Terminal.” Using this script and 

3
Like
Save