---
title: "First Impressions of Ruby 2.7's Pattern Matching"
publication: "Ruby Weekly"
issue: 446
published_at: "2019-04-18"
canonical_url: "https://rubyweekly.com/issues/446"
---

This week's Ruby news, issue 446       

#446 — April 18, 2019 

[Read on the Web](https://rubyweekly.com/issues/446)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/iglc6yzhu4tu3kwia7xm.jpg)](https://medium.com/@baweaver/ruby-2-7-pattern-matching-first-impressions-cdb93c6246e6)   

[First Impressions of Ruby 2.7's Pattern Matching](https://medium.com/@baweaver/ruby-2-7-pattern-matching-first-impressions-cdb93c6246e6) — Enjoy this ‘sneak peek’ at what pattern matching looks like in the forthcoming Ruby 2.7. It’s essentially an extension to `case` using `in` instead of `when`. 

Brandon Weaver   

[Approximating “Prettier for Ruby” with RuboCop](https://flexport.engineering/approximating-prettier-for-ruby-with-rubocop-8b863bd64dc6) — The folks at Flexport have open-sourced some “cops” (RuboCop plugins) to bring Prettier-style autocorrection to Ruby. (Although, as we’ve reported recently, there _is_ also a [Ruby plugin for Prettier](https://github.com/prettier/plugin-ruby) itself.) 

Max Heinritz   [![\](https://copm.s3.amazonaws.com/f9cf2b16.png)](https://lp.codacy.com/code-review?utm_source=CooperPress&utm_medium=cpm&utm_campaign=CooperPress-RubyP) 

[Automate Your Code Reviews](https://lp.codacy.com/code-review?utm_source=CooperPress&utm_medium=cpm&utm_campaign=CooperPress-RubyP) — Take the hassle out of shipping quality code - Codacy flags errors so you can fix them quickly. Address security concerns, code duplication, code complexity, drops in coverage, and more, directly from your current workflow. [Get started today](https://lp.codacy.com/code-review?utm_source=CooperPress&utm_medium=cpm&utm_campaign=CooperPress-RubyP). 

Codacy sponsor   

[Optimizing Database Performance in Rails](https://blog.heroku.com/rails-database-optimization) — Some Rails and Heroku tools to help clean up slow database issues including a quick look at caching. 

Heroku   

[Searchkick 4.0: Intelligent Search for Ruby Webapps](https://github.com/ankane/searchkick) — A very mature library that uses Elasticsearch to provide ‘smart’ search that learns from what your users are searching for. 

Andrew Kane   

[How Do You Know If A Gem Is "Done" or "Dead"?](https://github.com/rubytoolbox/rubytoolbox/issues/477) — Here’s an interesting discussion around how tools like RubyToolbox should indicate if a gem is still “active” and what that means so we can avoid dead gems in our apps. 

The Ruby Toolbox  

💻 Jobs  

[Senior Ruby Developer at Arsenal (Remote)](https://witharsenal.com/jobs) — We're using machine learning to help get the best photos possible with DSLR or mirrorless cameras. 

Arsenal   

[Backend Engineer at Splitwise (Providence/Greater Boston)](https://www.splitwise.com/jobs/backend?utm_source=rubyweekly) — Splitwise helps millions of happy users in 170+ countries manage shared expenses with friends and family. Come help us scale. 

Splitwise   

[Find A Ruby Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-rubyweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-77583) — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. 

Vettery  

📘 Articles & Tutorials  

[Prevent Links in Text Fields to Foil Spammers](https://andycroll.com/ruby/prevent-links-in-text-fields-to-foil-spammers/) — If your app turns user input into emails at all, you might want to avoid allowing URLs in, since many email clients will link them by default. 

Andy Croll   

[Working with Dynamic JSON Attributes in Rails](http://tomrothe.de/posts/rails_dynamic_attributes.html) — Including performing validations on them. 

Tom Rothe   

[Founders/CTOs: We Upgrade Rails So That Your Team Doesn't Have To](https://www.upgraderails.com) — With Rails 4.2 approaching end-of-life (when Rails 6 is released this month), the time to upgrade is now. 

Upgrade Rails sponsor   

▶[How to Use JavaScript via Webpacker in Rails 6](https://gorails.com/episodes/webpacker-javascript-in-rails-6) — Rails 6 defaults to using Webpacker instead of the asset pipeline. 

Go Rails   

[A Way to Validate and Fix Active Record Data Integrity](https://pawelurbanek.com/rails-postgresql-data-integrity) — Thoughts on an approach to take if your data gets into an ‘invalid’ state (via arbitrary updates, skipping validations, broken dependencies, etc.) 

Paweł Urbanek   

▶[Discussing the Evolution of RubyMotion with Lori Olson](http://5by5.tv/rubyonrails/267) — A 25 minute chat about [RubyMotion](http://www.rubymotion.com/), a toolkit for building cross-platform apps in Ruby. 

The Ruby on Rails Podcast podcast   

[Ruby 2.6.3 Released](https://www.ruby-lang.org/en/news/2019/04/17/ruby-2-6-3-released/) — Includes some bug fixes, an update to the 12.1 Unicode beta and adds support for the new Japanese Era “令和” (Reiwa). 

Yui Naruse  

🔧 Code & Tools  

[pry-nav: A JRuby-Compatiable Way to Add Debugging Features to Pry](https://github.com/nixme/pry-nav) — [Pry](https://github.com/pry/pry) is a fantastic REPL, and if you’re using Pry but not using MRI, you’ll like this. 

Gopal Patel   

[Licensed: Cache and Verify the Licenses of Dependencies](https://github.com/github/licensed) — Currently being used at GitHub itself. 

GitHub   

[Spreadsheet Architect: Create Spreadsheets from Ruby Objects](https://github.com/westonganger/spreadsheet_architect) — A library to create XLSX, ODS, or CSV spreadsheets from Active Record relations, plain Ruby objects, or tabular data. 

Weston Ganger   

[Get the Fastest Website Deployments](https://buddy.works/?utm_source=sscprw&utm_campaign=sscprw1804&utm_content=bl) 

Buddy sponsor   

[resque-scheduler: A Lightweight Job Scheduling System Built on Top of Resque](https://github.com/resque/resque-scheduler) 

Resque   

[An AWS Lambda Layer for the `ruby-vips` Gem](https://github.com/customink/ruby-vips-lambda) — If you’re using [ruby-vips](https://github.com/libvips/ruby-vips) for image processing and want to use it from a Ruby-powered AWS Lambda function, this will help. 

Custom Ink   

[excon: A Fast, Simple HTTP 1.1 Client for Ruby](https://github.com/excon/excon) — Has just had its first update in a year. 

excon   

[Textbringer 1.0: An Emacs-Like Text Editor Written in Ruby](https://github.com/shugo/textbringer) — It’s just reached version 1.0. Congratulations, Shugo. 

Shugo Maeda         

Curated by [Glenn Goodrich](https://twitter.com/ruprict) and [Cooperpress](https://cooperpress.com/). 

[Change your email address](https://rubyweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
