---
title: "This week's Ruby news, issue 342"
publication: "Ruby Weekly"
issue: 342
published_at: "2017-03-30"
canonical_url: "https://rubyweekly.com/issues/342"
---

This week's Ruby news, issue 342

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

Ruby WeeklyIssue 342 — March 30, 2017

Richard Schneeman[N+1 Queries or Memory Problems: Why Not Solve Both?](https://blog.heroku.com/solving-n-plus-one-queries)Performance issues often start with N+1 problems but fixes can cause memory bloat. Here’s a way to solve for both.


Phil Nash[Create A Landing Page With Google Sheets and Sinatra](https://www.twilio.com/blog/2017/03/create-a-landing-page-with-sinatra-google-spreadsheets-and-ruby.html)The example app adds user information to a Google Spreadsheet of users interested in an app launch. Prefer a video? [Here you go.](https://www.youtube.com/watch?v=TU1znISrAGg)


ruby-lang.org[Ruby 2.2.7 Released: 2.2's Final Maintenance Release](https://www.ruby-lang.org/en/news/2017/03/28/ruby-2-2-7-released/)70 bug fixes wrap up Ruby 2.2’s normal maintenance phase, with only security fixes to come in future. Using 2.2? Consider your 2.4 migration plan soon.


Owning RailsSponsored[How to master Rails 5 quickly without learning all the APIs](http://owningrails.com/?utm_source=rubyweekly&utm_medium=email&utm_campaign=march_ad)The creator of the Thin web server brings you the best advanced Rails course online, updated to Rails 5. Never get stuck in the framework again. Dive into Rails code, fix bugs, discover features and master everything from ActiveRecord to ActionCable.

[![Owning Rails\](https://copm.s3.amazonaws.com/c17ec954.png)](http://owningrails.com/?utm_source=rubyweekly&utm_medium=email&utm_campaign=march_ad)


Daniel Bovensiepen[The $500K mRuby Release?](https://mruby.sh/201703270126.html)The story behind Shopify's bug bounty program, what came out of it, and why it may have been the best thing to happen to [mRuby](https://github.com/mruby/mruby), the lightweight Ruby implementation.


Rob Race[27 Ruby Gems One Dev Uses in Rails Projects](https://hackernoon.com/27-gems-i-use-in-almost-every-project-832986551df8)Sure, it’s a list, but sometimes they can be a handy way to find new tools :-)


Daniel P. Clark[ActionCable: The Missing Guide](https://blog.codeship.com/actioncable-the-missing-guide/)If you need server-side triggered updates, multi-user interaction, or simply more dynamic content, ActionCable might be a good fit for you.


Jesal Gadhia[Incorporating Modern JavaScript Build Tools With Rails](https://jes.al/2017/03/incorporating-modern-javascript-build-tools-with-rails/)Whilst searching for a viable replacement to Sprockets, Jesal landed on Browserify and Webpack as possible contenders. Here’s his experience integrating each one with a Rails app.


Jobs

- [Front-End Developer at Econify (New York, NY)](http://www.econify.com/?#contact)Econify is a development shop working with large media clients. We’re seeking a senior Ruby developer to solve large scale problems. Econify
- [Ruby on Rails Engineer at Snapdocs in San Francisco (YC W14)](https://jobs.lever.co/snapdocs/ebe6444a-e4c6-464c-ab6a-2ca126bf939a?lever-origin=applied&lever-source%5B%5D=Ruby%20Weekly)Pre-Series A company in mortgage space with real revenue and growth, hiring empathetic Rails engineers for document intelligence team. Snapdocs

In brief

- [Ruby 2.3.4 Released](https://www.ruby-lang.org/en/news/2017/03/30/ruby-2-3-4-released/?utm_source=rubyweekly&utm_medium=email) news
- [No RubyConf Portugal in 2017, Taking a 'Gap Year'](https://subvisual.co/blog/posts/128-rubyconf-portugal-gap-year?utm_source=rubyweekly&utm_medium=email) news 
Just in case it was on your radar to attend. Roberto Machado
- [Track errors in your apps with Sentry](https://sentry.io/for/ruby/?utm_source=rubyweekly&utm_medium=display&utm_campaign=ruby1) tools 
Sentry's open-source error tracking tells you when your code breaks, without the need for bug reports. Use the code `rubyweekly` to sign up. SentrySponsored
- [Chaining RSpec Matchers for Improved Test Readability](https://robots.thoughtbot.com/chain-rspec-matchers-for-improved-test-readability?utm_source=rubyweekly&utm_medium=email) tutorial 
Uses RSpec’s composable `and` method to improve the flow of specs. Josh Clatyon
- [Deploy a JRuby App on EC2 with Packer](https://dcsg.me/articles/pack-er-and-terra-deploy-a-jruby-application-part-1/?utm_source=rubyweekly&utm_medium=email) tutorial 
Packer automates the creation of machine images. Daniel Gomes
- [Modeling a Paginated API as a Lazy Stream](https://robots.thoughtbot.com/modeling-a-paginated-api-as-a-lazy-stream?utm_source=rubyweekly&utm_medium=email) tutorial Joël Quenneville
- [Making Array.include? Faster for Symbols](https://pawelniewiadomski.com/2017/03/21/making-ruby-array-include-faster/?utm_source=rubyweekly&utm_medium=email) tutorial 
Pawel found symbols were surprisingly slower than strings. This is how he fixed it. Pawel Niewiadomski
- [How to Build a Rails API Server with Auth0 JWT Auth + React](https://medium.com/devtechtipstricks/build-a-simple-rails-api-server-auth0-jwt-authentication-react-from-scratch-in-30-minutes-or-257cbb2a939a?utm_source=rubyweekly&utm_medium=email) tutorial Ian Khor
- [Refactoring: From Subclass to Registry](https://blog.codeminer42.com/refactoring-ruby-from-subclass-to-registry-b6fe4db58b18#.8sa5rq39r?utm_source=rubyweekly&utm_medium=email) tutorial 
Shows the process of taking small steps followed by refactorings to create a flexible solution. Thiago Silva
- [15 Common Mistakes with Ruby Conventions in Rails](http://jetruby.com/expertise/common-rails-mistakes-ruby-way/?utm_source=rubyweekly&utm_medium=email) tutorial JetRuby
- [Using Lob Webhooks to Send Delivery Notifications in Rails](https://lob.com/blog/using-lob-webhooks-to-send-delivery-notifications-in-rails/?utm_source=rubyweekly&utm_medium=email) tutorial 
Lob is a service to send and track physical mail. Shrav Mehta
- [From Ruby to Crystal: A Quick Look](https://spin.atomicobject.com/2017/03/24/ruby-to-crystal-test/?utm_source=rubyweekly&utm_medium=email) opinion 
Porting an A* pathfinding algorithm from Ruby to Crystal. Shawn Anderson
- [Like the sound of fixed price Ops specifically for Rails apps?](https://reinteractive.com/enquiries/new?code=ops_care&?sid=115) tools 
OpsCare offers 24/7 support for less than $1/hour. Our custom tools help ensure your app is online and doing what you expect. ReinteractiveSponsored
- [Geared Pagination: Variable Speed Pagination for Active Record](https://github.com/basecamp/geared_pagination?utm_source=rubyweekly&utm_medium=email) code 
Code extracted from Basecamp by DHH. Basecamp
- [Elixirize: Bringing Elixir's Piping Method to Ruby](https://github.com/danielpclark/elixirize?utm_source=rubyweekly&utm_medium=email) code Daniel P. Clark
- [Mobility: A Pluggable Ruby Translation Framework](https://github.com/shioyama/mobility?utm_source=rubyweekly&utm_medium=email) code 
Store and retrieve translations as attributes on a class based on the current locale. Chris Salzberg
- [LittleBoxes: A Simple Dependency Injection Library](https://github.com/manuelmorales/little-boxes?utm_source=rubyweekly&utm_medium=email) code 
Includes automatic configuration and lazy loading. Manuel Morales
- [DeepPluck: Pluck Attributes From Nested Associations](https://github.com/khiav223577/deep_pluck?utm_source=rubyweekly&utm_medium=email) code Rumble Huang
- [Firecord: An Object Data Mapper for Firebase](https://github.com/stepnivlk/firecord?utm_source=rubyweekly&utm_medium=email) code Tomas Koutsky

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)

[Unsubscribe](*|UNSUB|*) | [Change email address](*|UPDATE_PROFILE|*) | [Read this issue on the Web](http://rubyweekly.com/issues/342)

© Cooperpress Ltd. Office 30, Lincoln Way, Louth, LN11 0LS, UK
[Email policy](https://cooperpress.com/spam.html) [Privacy policy](https://cooperpress.com/privacy.html)
