#461 — August 1, 2019

Read on the Web

Ruby Weekly

Rails on Windows Is Not Just Possible.. It's Fabulous — Ruby and Rails development on Windows has been pretty frustrating for well over a decade. Microsoft’s strides to accommodate the Unix way of life via WSL2 and VS Code have changed that in a big way, says Scott Hanselman. Given how many developers have been experimenting switching from macOS to Windows 10, this is encouraging.

Scott Hanselman

ruby-prof Reaches Version 1.0 — After 14 years of development (yes, really!), version 1.0 of the high speed Ruby profiling tool is out with features like faster profiling and new reports.

Maeda, Savage and Kaes

Your Ruby CI/CD Pipeline Needs an Upgrade — The Superhuman engineering team reduced build time from 17 mins to 70 seconds. With Semaphore, you can go faster too. Model any CI/CD workflow for Ruby, Docker and iOS with autoscaling pipelines. Try it free with GitHub.

Semaphore 2.0 sponsor

Artichoke Ruby Playground: A New Ruby Interpreter — Artichoke Ruby is an mruby-inspired Ruby interpreter built in Rust (GitHub repo). They’ve released a cool in-browser playground for playing with it. Let’s keep making Ruby a bigger part of the Web!


Rails 6.0.0 RC2 Released — After you read about all the new stuff in Rails 6 (which we seem to include in almost every issue lately), download RC2 and take it for a spin. The final release is due in a couple of weeks, barring any major bug discoveries.

David Heinemeier Hansson

Digging Deeper into Ruby Templating: The Parser — The second in a three-part series (we linked to the first article in issue 457) on building a templating language and parser in Ruby.

Benedikt Deicke

💻 Jobs

Write Awesome Ruby @ Fullscript — Join our team and help create rich and compelling experiences for our users. This is how we build software. If you share our values, we’d be excited to talk with you.


Ruby on Rails Developer at X-Team (Remote) — Join the most energizing community for developers. Work from anywhere with the world's leading brands.


Find a Job Through Vettery — Vettery matches top tech talent with growing companies. Create a profile to get started.


📘 Articles & Tutorials

Consider Value Objects — Value objects can make code and concepts clearer, make testing easier, and improve reuse.

Andy Croll

Infinity: How It Works and Why It Matters in Ruby1.0/0 returns Infinity in Ruby, but does it actually have any use?

Jesus Castello

Rails 6 Adds Support for Database Optimizer Hints — No more raw SQL to help nudge the database’s query optimizer in the right direction. See some Postgres and MySQL examples here.

Vishal Telangre

Video: Autoscale Your Heroku Worker Dynos in Minutes

Rails Autoscale sponsor

Moving From Tagging with ActsAsTaggableOn to PostgreSQL Arrays — The Postgres database system natively supports arrays as a data type, so why not use them for tags?

Igor Alexandrov

Rails 5: Getting Started with Active Storage — A basic introduction, complete with code you can download.

Bradyn Glines

3 Defensive Programming Techniques for Rails

Bobby Tables

▶  Using Ruby's Array() and Array.wrap — If you’re using conditionals to check if a value is an array.. consider this approach instead.


How Do You Tell Which Areas of a Project's Test Suite Need Attention?

Jason Swett

🛠 Code and Tools

Geocoder: A Complete Ruby Geocoding Solution — Look up street addresses, IP addresses, or lat/long coordinates, perform geographic queries, and more. Connects with over 40 third-party APIs. GitHub repo.

Alex Reisner

Ensure That Your Code Is Error-Free Before Merging — Set standards on coverage, duplication, complexity, and style issues and see real-time feedback in your Git workflow.

Codacy sponsor

React-Rails: A Way to Integrate React.js with Rails Views — If you’re both a Rails and React user, this popular tool will help with the integration between the two. v2.6.0 adds a TypeScript component generator.

React Community

Shoulda Matches: RSpec and Minitest-Compatible One-Liner Tests for Rails Functionality — For testing things like validations, column presence, associations, parameter filtering, callbacks, flash and session usage..

thoughtbot, inc.

RubyMine 2019.2 Released: A Much Faster Debugger and More — The latest update of a popular (but commercial) Ruby IDE.


Affect: Algebraic Effects for Ruby — Affect provides “a way to isolate and handle side-effects in functional programs.” It can be used to implement patterns like dependency injection and a form of aspect-oriented programming.

Digital Fabric