#408 — July 19, 2018

Read on the Web

Ruby Weekly

Don't Step on a Rake, Use Rake::DSL — A look at how Rake, Ruby’s general purpose make-like task runner, operates and how to define tasks outside of the top-level scope using Rake::DSL.

Jared Norman

TruffleRuby Now Easily Installable via RVM, rbenv, and ruby-install — TruffleRuby is an alternative Ruby implementation built at Oracle Labs. Just tried rvm get head & rvm install truffleruby on my Mac and it worked a treat.


Know What’s Going On in Your Industry with DigitalOcean’s Currents — Not sure what serverless computing is? You’re not alone. Find out more in DigitalOcean’s Currents developer trends report.

DigitalOcean sponsor

Ruby 2.6 Adds String#split with Block — When a block is supplied to split, no array is created or returned, and instead the results are yielded to the block one at a time.

Taha Husain

How to Replace wkhtmltopdf for PDF Generation from Rubywkhtmltopdf used to be a popular option for rendering HTML to PDF and may well be lurking as a dependency in your own apps, but it’s flawed, says this author, who presents lots of great modern alternatives.

Krzysztof Zych

JavaScript-'Sprinkled' Rails Applications — Improve upon fragment caching user-specific content by adding “sprinkles” of JavaScript behavior to your application.

Jeff Kreeftmeijer

💻 Jobs

Full-stack Ruby on Rails Developer (Remote or New York, NY) — Seeking experienced Rails developers (full-time or contract) to build great products for startups. Remote friendly and sane hours.

Tanooki Labs

Find A Ruby Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create your profile to get started.


📘 Articles & Tutorials

The Forwardable Module in Ruby — This post had a couple of examples of delegation that I hadn’t seen before. It’s the first in a two-part series, with the second article covering SingleForwardable.

Mehdi Farsi

Thin and Maintainable Rails Mailers — The addition of parameterized mailers to Rails 5.1 can make your mailer code much cleaner.


The Best Way for Busy Teams to Keep Their Dependencies Up-To-Date — We believe doing small, easy to assess updates regularly is a lot easier than updating everything at once.

Depfu sponsor

Everything You Need to Know About Ruby Operators — A comprehensive look at Ruby operators that shows which operators are methods, what unary operators exist, the splat, the ‘shovel’, and more.

Jesus Castello

▶  Evented Autonomous Services in Ruby — This great talk from GORUCO 2018 is much more on the architecture and patterns of evented, autonomous services irrespective of language.

Scott Belware

Running Rails Tests Under CircleCI 2.0 with MariaDB — Quite niche, but if you need to do it..

Caius Durling

How to Write a Case Expression in Ruby — The case statement seems simple on the surface, but understanding exactly what it does can bring many options to your code.

Cezar Halmagean

Building a Batch Image Uploader in Elixir, Phoenix, Ruby and Iron

Manifold sponsor

▶  Your First Contribution to Rails (and Beyond) — How to find an interesting issue to work on, set up your environment, and ask for help when you get stuck.

Dinah Shi

🔧 Code & Tools

SmartEnum: Enums for Ruby That Aren't Just Symbols — With this, your enums can have associated values and methods.


Pragmatic Segmenter: Rule-Based Sentence Boundary Detection — Supports many languages out of the box. Live demo here.

Kevin Dias

XmlMatchers: Validate Your XML API Responses against XSD XML Schemas

Rafael George

Easy GraphQL Caching with GraphQL Cache — Caching is a gap in the current Ruby/Rails GraphQL landscape, so StackShare fixed the gap. GitHub repo.


InSpec: An Auditing and Testing Framework for Infrastructure — Write tests to check firewall rules, installed packages, etc, and run locally or remotely. Targets most production OS including Windows.