---
title: "#382: Upgrading a Rails App Incrementally"
publication: "Ruby Weekly"
issue: 382
published_at: "2018-01-18"
canonical_url: "https://rubyweekly.com/issues/382"
---

#382: Upgrading a Rails App Incrementally

This week's Ruby and Rails news[Read this e-mail on the Web](http://rubyweekly.com/issues/382)

Ruby WeeklyIssue 382 — January 18, 2018

Jesus Castello[Tracking Object Allocation in Ruby](https://blog.codeship.com/tracking-object-allocations-in-ruby/)A few gems to use to track allocations along with their impact on common programming scenarios. When are objects allocated, and why?


Scout Blog[Distributed Tracing in Ruby with OpenTracing](http://blog.scoutapp.com/articles/2018/01/17/tutorial-distributed-tracing-in-ruby-with-opentracing)How to add distributed tracing to your Sinatra webapps with [OpenTracing](http://opentracing.io/), a vendor-neutral tracing API, and [Jaeger](https://github.com/jaegertracing/jaeger), a distributed tracing system.


Luke Francl[Upgrading a Rails Application Incrementally](http://www.recursion.org/incremental-rails-upgrade/)It’s unlikely that you’ll be able to catch all upgrade issues outside of production, so a procedure like this is a great way to go.


Linode Cloud HostingSponsored[Linux Cloud Hosting Starting at 1GB of RAM for $5/mo](https://welcome.linode.com/ruby-weekly/?utm_source=cooperpress&utm_medium=sponsored&utm_term=ruby&utm_campaign=ruby-weekly-sponsored-primary)Get a Linode server up and running in seconds. Simply choose your plan, distro and location and you’re ready to deploy your server. Get $20 credit on a new account.

[![Linode Cloud Hosting\](https://copm.s3.amazonaws.com/89ff3922.png)](https://welcome.linode.com/ruby-weekly/?utm_source=cooperpress&utm_medium=sponsored&utm_term=ruby&utm_campaign=ruby-weekly-sponsored-primary)


Cooperpress[WebOps Weekly: Our Newsletter for Sysadmins and Ops Folks](https://webopsweekly.com/)Involved in picking stacks, deploying code, or dealing with servers in any way? [Web Operations Weekly](https://webopsweekly.com/) is our Ruby Weekly-esque newsletter for you. See [the latest issue](https://webopsweekly.com/issues/149) for a taste of what we cover, including a fun read on [storing files in other people’s DNS caches.](https://blog.benjojo.co.uk/post/dns-filesystem-true-cloud-storage-dnsfs)


Ryan Davis et al.[Hoe Dev's Guide: Build, Package and Publish Gems with Rake Tasks](https://github.com/yukimotopress/gem-tasks/blob/master/index.md)Hoe fills in many automation gaps using Rake tasks to make development more efficient.


Thoughtbot[Why Use Factories In Your Tests?](https://robots.thoughtbot.com/why-factories)What problem do they solve and why are they needed?


Jobs

- [Gusto Is Hiring Great Rails Engineers (SF or Denver)](https://gusto.com/about/careers?utm_source=ruby-weekly&utm_medium=email&utm_campaign=ruby-weekly-2018-01-18)Join us to help thousands of small businesses run payroll and offer health benefits, letting them focus on what they do best. Gusto
- [Sr. Ruby Platform Engineer @ Netflix (CA)](http://jobs.netflix.com/jobs/865783?utm_source=rubyweekly&utm_medium=email)Ever wondered how Netflix picked up Stranger Things or Narcos? Join the team that builds the technologies used by our content buyers. Netflix
- [Looking For A New Job In The New Year?](https://underdog.io/?utm_medium=advertisement&utm_source=rubyweekly&utm_campaign=homepage2018-jan-18&utm_content=new-job)Try Underdog.io, where hundreds of the best tech companies go to meet top ruby engineers. Companies email you directly as soon as next Monday. Underdog.io

In brief

- [Paris.rb Conf 2018 (June 28-29 in Paris, France)](http://2018.rubyparis.org/?utm_source=rubyweekly&utm_medium=email) news 
Some great speakers lined up already but you can [propose your own talk](https://checkout.eventlama.com/#/events/parisrb-conf-2018/cfp) too.
- [Is 2018 the Year to Finally Get Your Rails App Up-To-Date?](https://depfu.com/?utm_source=rubyweekly&utm_campaign=brief&utm_content=2018) DepfuSponsored
- [How Do Ruby and Python Profilers Work?](https://jvns.ca/blog/2017/12/17/how-do-ruby---python-profilers-work-/?utm_source=rubyweekly&utm_medium=email) tutorial Julia Evans
- [Field-level Rails Cache Invalidation: A DSL Solution](https://www.toptal.com/ruby-on-rails/field-level-rails-cache-invalidation?utm_source=rubyweekly&utm_medium=email) tutorial Orban Botond
- [Comparing Timestamps in Rails](https://chriskottom.com/blog/2018/01/comparing-timestamps-in-rails/?utm_source=rubyweekly&utm_medium=email) tutorial 
Use ActiveSupport extensions to make working with times and dates easier in Rails. Chris Kottom
- [Limit Memory Usage, Fix R14 Errors, and Save Money on Heroku](https://pawelurbanek.com/2018/01/15/limit-rails-memory-usage-fix-R14-and-save-money-on-heroku/?utm_source=rubyweekly&utm_medium=email) tutorial 
Solid tips on reducing the memory footprint of your Rails app on startup and in production. Paweł Urbanek
- [Event-Driven Microservices with RabbitMQ and Ruby](https://blog.kontena.io/event-driven-microservices-with-rabbitmq-and-ruby/?utm_source=rubyweekly&utm_medium=email) tutorial 
How to use RabbitMQ to support an event-sourced architecture with MongoDB. Daniel Battaglia
- [The Command Pattern in Ruby](https://medium.freecodecamp.org/design-patterns-command-and-concierge-in-life-and-ruby-aab9815817ea?utm_source=rubyweekly&utm_medium=email) tutorial Sihui Huang
- [Tip: Do Not Run Rails with Pending Migrations (and How)](http://nts.strzibny.name/do-not-run-rails-with-pending-migrations/?utm_source=rubyweekly&utm_medium=email) tutorial Josef Strzibny
- [Rails 5.2 Allows Mailers to Use Custom Active Job Classes](https://blog.bigbinary.com/2018/01/15/rails-5-2-allows-mailers-to-use-custom-active-job-class.html?utm_source=rubyweekly&utm_medium=email) tutorial Prathamesh Sonpatki
- [The Ruby 2.5.0 Feature Nobody Talks About](https://medium.com/@coorasse/the-ruby-2-5-0-feature-nobody-talks-about-38e6c4585fdd?utm_source=rubyweekly&utm_medium=email) tutorial 
It’s ‘branch coverage’ and I can say I honestly wasn’t talking about it. Alessandro Rodi
- [Ruby 2.5 Allows Creating Structs with Keyword Arguments](https://blog.bigbinary.com/2018/01/16/ruby-2-5-allows-creating-structs-with-keyword-arguments.html?utm_source=rubyweekly&utm_medium=email) tutorial Prathamesh Sonpatki
- [A Simple Introduction to Content Security Policy for Rails](https://chase.pursu.es/simple-intro-to-csp-for-rails.html?utm_source=rubyweekly&utm_medium=email) tutorial 
In the light of recent vulnerabilities, this is something we should all know. Chase Gilliam
- [Mixins in Python and Ruby Compared](https://andrewbrookins.com/technology/mixins-in-python-and-ruby-compared/?utm_source=rubyweekly&utm_medium=email) tutorial 
A detailed look at mixins in both languages with lots of code. Andrew Brookins
- [(Another Roundup of) Ruby 2.5's New Features](https://www.engineyard.com/blog/ruby-250-new-features?utm_source=rubyweekly&utm_medium=email) tutorial Christopher Rigor
- [Creating Lightweight Tests for an NGINX API Gateway with Ruby](http://underthehood.meltwater.com/blog/2017/12/12/lightweight-tests-for-your-nginx-api-gateway/?utm_source=rubyweekly&utm_medium=email) tutorial Mateusz Korszun
- [Jenkins VS GoCD](https://www.gocd.org/2017/04/25/gocd-over-jenkins/?utm_campaign=jenkins_vs_gocd&utm_medium=email&utm_source=cooperess_ruby&utm_content=jenkins_blog&utm_term=) opinion 
We compared GoCD with Jenkins on philosophy, continuous delivery & plugins. Understand how these CI/CD tools fit your needs. GoCDSponsored
- [Things I Wish ActiveRecord Had After Using Elixir's 'Ecto'](https://infinum.co/the-capsized-eight/things-i-wish-active-record-had-after-using-ecto?utm_source=rubyweekly&utm_medium=email) opinion Vladimir Rosančić
- [Redmine Security Scanner](https://plan.io/redmine-security-scanner/?utm_source=rubyweekly&utm_medium=email) tools 
If you use the Rails-based issue tracking tool, this tool runs checks to make sure you’re not vulnerable. Planio
- [Slow CI Build? Make It Run in 2 Minutes or Less with Boosters](https://semaphoreci.com/landers/boosters-rails?utm_source=rubyweekly&utm_medium=email&utm_campaign=rubyweekly-boosters-20180118) tools SemaphoreSponsored
- [Lurn: A Ruby Gem for Machine Learning](https://github.com/dansbits/lurn?utm_source=rubyweekly&utm_medium=email) code Dan Carpenter

Curated by [Peter Cooper](https://twitter.com/peterc) and [Glenn Goodrich](https://twitter.com/ruprict), and published by [Cooperpress](https://cooperpress.com/).
Send feedback by simply replying to this mail.
Want to sponsor an issue? See our [media kit.](https://cooperpress.com/mediakit)
Want to post a job? Email us or [use our self-serve system.](https://booking.cooperpress.com/jobs)

[Stop getting Ruby Weekly](*|UNSUB|*) | [Change email address](*|UPDATE_PROFILE|*) | [Read this issue on the Web](http://rubyweekly.com/issues/382)

© Cooperpress Ltd, Fairfield Enterprise Centre, Louth, LN11 0LS, UK
[Email policy](https://cooperpress.com/spam.html) [Privacy policy](https://cooperpress.com/privacy.html)
