#449 — May 9, 2019

Read on the Web

Ruby Weekly

A Guide to Function Composition in Ruby — Ruby 2.6’s introduction of the << and >> function composition operators has opened up some interesting new techniques and this article tours them deftly. This topic clearly inspired two people at the same time as Tom Wey has a related article on function composition you might also enjoy.

Paul Mucur

RubyKaigi and the Path to Ruby 3 — A summary of Matz’s talk at RubyKaigi that focused on performance, concurrency, and static analysis as they lay the path for Ruby 3, expected late in 2020.

Shannon Skipper

Automated Dependency Updates Done Right — Stop chasing the latest versions. Depfu's new reasonably up-to-date feature "matures" releases before sending you pull requests, while making sure you're never more than 1 month behind.

Depfu sponsor

Ruby 2.7 Adds Experimental Shorthand Operator for Object#method — Years in the making, this allows you to use thing.:method_name instead of thing.method(:method_name). You might find some of the discussion behind the design interesting too.

Vipul A M

🎧 Podcasts of the Week

There have been a few interesting Ruby related podcast episodes this week that are worth checking out if you have time:

💻 Jobs

New Career for Ruby Engineers. All Levels (Edinburgh, Remote) — Popular, award-winning Ruby/Rails SaaS product. Flexible, inclusive, happy team. Great work/life balance and benefits. Join us.

FreeAgent

Senior Software Developer - Ruby (London, UK) — We're a SaaS business that helps run, build and change small companies so they can run, build and change the world. 🚀

CHARLIEHR

Find A Ruby Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers.

Vettery

📘 Articles & Tutorials

Instrumenting Rails Apps with Prometheus — A demonstration of how straightforward it is to export telemetry from Rails to the Prometheus open source monitoring system using ActiveSupport::Notifications and the prometheus_exporter gem.

Bobby Tables

6 Postgres Tips for Rails Developers — Improving Postgres performance for Rails, ft. statement time-outs, marginalia, pg_stat_statements, pgBouncer.

CITUS DATA, A MICROSOFT COMPANY sponsor

Weird Ruby: Pure Object-Oriented Negation — The first post in a series that explores the ‘twilight zone’ of Ruby. This post talks about the negation unary method (!) and what you can (and shouldn’t) do with it. You can play similar games with unary plus and minus too.

Bozhidar Batsov

How to Create an Array Containing a Single Hash Without Using Curly Braces — This is rather niche and a bit of a Ruby syntax quirk but I didn’t realize this would happen. Essentially [{ a: 10 }] == [a: 10]

Sean Lerner

How to Setup Ruby Object Mapper (ROM) for a Standalone Project — A look at setting ROM alone, without any web framework, covering migrations, testing, commands, and relations.

Igor Kuznetsov

Full Text Searching Linux Man Pages with Elasticsearch and Ruby — Yes, it’s from 2018 but I missed the opportunity to link it earlier :-)

Lazarus Lazaridis

▶  Nested Forms From Scratch with Stimulus — What’s involved in building forms in the new Rails order (i.e. Rails 6) without having to pull in any third-party gems to help.

Drifting Ruby

🔧 Code & Tools

RailsPanel: A Chrome Extension for Rails Development — Stop tailing development.log and see info about your app’s requests in Chrome’s DevTools instead. The first new version in over a year just dropped.

Dejan Simic

SearchFlip: Full-Featured Elasticsearch Client with Chainable DSL — Elasticsearch is still the best system I’ve found to add powerful search features to my apps, so maybe I’ll give this a try..

Benjamin Vetter

Get the Fastest Website Deployments. Get Started Free

Buddy sponsor

Xcodeproj: Create and Modify Xcode Projects from Ruby — One for you macOS/iOS developers, this could help you script away boring management tasks or auto generate projects, etc.

CocoaPods

split: The Rack Based A/B 'Split' Testing Framework — A very mature framework with robust configuration and multiple options for determining the winning option.

Split

MiniMagick: A Mini Replacement for RMagick — If you were working with Ruby over 10 years ago, you can probably remember how irritating rmagick often was to install, so alternatives are always welcomed :-)

Corey Johnson

Tmuxinator 1.0: A Tool to Manage Complex tmux Sessions Easilytmux is a terminal multiplexer a lot like screen but with more features.

tmuxinator

Eucalypt: A New Sinatra App Generator — It’s early days for this, but as a Sinatra fan myself, it’s great to see more tooling appear around it.

eucalypt