🇺🇦 #​604 — May 19, 2022

Read on the Web

Ruby Weekly

Shopify Invests in Research for Ruby at Scale — This is exciting! If you’ve kept an eye on industry comings and goings in recent years, you may have noticed Shopify has brought together quite the team of Ruby and VM experts (whether through direct hires or collaborations) and it’s only continuing – this bodes extremely well for Ruby and reminds me somewhat of when Google went all in on V8..

Chris Seaton (Shopify)

Using Scientist to Refactor Critical Rails Code — We’ve mentioned Scientist a few times over the years as a neat way to introduce change to an untested or complex app through executing the old and new code and comparing results. The LabTech gem introduced in this post makes this process even easier.

Darren Broemmer (AppSignal)

All The Convenience of Heroku Without the Cost — The convenience of Heroku, but on any cloud and in any region, with persistent storage, custom network configuration, zero downtime deployments, blue/green and canary releases, WAF, and more. Try it today for free plus an extra $100 in credits with the code: RubyWeekly!

Cloud 66 sponsor

New Official Guides on How to Contribute to Ruby — There are lots of ways you can contribute towards the future of Ruby whether through testing it, reporting issues, making changes, submitting proposals, or improving the docs.. and the docs now have some new practical guides on how to do all of those things.

Ruby Docs

Quick Bits:

  • RubyMine 2022.1.1, a bug fix update of the popular commercial Ruby IDE, is out. In related news, RubyMine is retiring support for old versions of Rails and various features.

  • Chime is a native macOS-specific code editor originally targeting just Go developers, but it now supports Ruby too.

  • RailsConf 2022 is taking place right now in Portland, Oregon. We look forward to videos and articles coming out of the event and hope you're having a great time if you're there!

  • At RailsConf, Eileen M. Uchitelle of the Rails core team noted "Rails isn’t just someone else’s framework, we are all responsible for the future and sustainability of Rails."

Jobs

4 Senior ROR Engineers - Remote Since Day 1 — Mastered ROR (6-8 years of XP)? Join Anka: The all-in-one solution to export products made of Africa globally. Great technical challenges, fast development opportunities, and a badass team.
Anka

Sr. Ruby on Rails Developer (Remote, US-Only) — Do you lie awake at night thinking about how to refactor that Rails code? Is POODR on your nightstand? We understand you. We are the same way.
Tatango

Senior Back End Developer - Ruby/Rails — Peggy uses AI to transform the art market. Come hack on an elegant Rails API with our world-class and fully remote team. ROR, PG, AWS, K8S, Sidekiq.
Peggy

Find Ruby Jobs Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.
Hired

📕 Articles & Tutorials

Soft Deletion with Postgres: Writing the Logic in Postgres Itself — Of course we love writing everything in Ruby, but Postgres, like many database systems, is quite powerful on its own and if you wanted to add ‘soft’ deletion (marking records as hidden rather than deleting them) to your app, you could give the job to Postgres itself by way of rules.

Kozin and Turner

Syntax Tree and Lambda-Local Variables — The author of Syntax Tree (a Ruby parsing and formatting toolkit) has to deal with every dark corner of the language.

Kevin Newton

A Case for Query Objects in Rails — Making your queries reusable is an excellent idea and bound to save you frustration cycles later. Here are a few ways to build them right.

Thiago Araújo Silva (thoughtbot)

How Lyft's Mobile Team Does Mobile CI at Scale — How does Lyft do mobile CI/CD and unblock their ~200 mobile app contributors? Lyft shares all the details.

Buildkite sponsor

How to Get a Random Number in Ruby — It’s a basic thing to do, but did you know there are several options?

Shino and David

How to Mock ActionMailer — Using RSpec custom matchers to make clean ActionMailer mocks.

Nolan Phillips

Linting and Auto-Formatting Ruby Code with RuboCop — An introductory post. Existing RuboCop users scroll on :-)

Ayooluwa Isaiah

Some Benefits of Having a call Method for Your Object
Jeremy Friesen

Four Things You Can Try Before Using a Counter Cache in Rails
Benito Serna

🛠 Code & Tools

Magnus 0.3.0: Ruby Bindings for Rust — We linked this project recently but it’s coming along at a fast pace. Magnus offers a way to write Ruby extensions in Rust (or, alternatively, call Ruby code from Rust) and Ruby’s string encoding API is now better supported, integer/float conversions are much better, and you can create Proc objects from Rust closures.

Mat Sadler

Ruby2JS 5.0: A Ruby to JavaScript Transpiler — A transpiler aimed at keeping the resulting code looking ‘hand crafted’ rather than merely transpiled. Fiddle with the demo on the home page to get a feel for it.

Sam Ruby and Jared White

Issue Tracking Has Never Been Easier with Shortcut

Shortcut (formerly Clubhouse.io) sponsor

Clayoven: A Site Generator Aimed at Math-Heavy Sites — A curiously specific static site generator that’s targeted specifically at rendering math stuff.

Ramkumar Ramachandra

DataChecks: A DSL for Regression Testing on Data — For post-hoc checks when validations or database constraints haven’t done their job (or haven’t done it in the way you were expecting, at least).

fatkodima

queue_classic 4.0: A Simple Worker Queue for Ruby and Postgres
Ryan Smith