---
title: "A late April 1st proposal for Ruby?"
publication: "Ruby Weekly"
issue: 621
published_at: "2022-09-22"
canonical_url: "https://rubyweekly.com/issues/621"
---

Plus Haml 6.0, bye to Subversion, points against RSpec, and the Rails 6 to 7 upgrade process. |        

#​621 — September 22, 2022 

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

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/gbe01zlt49tzgnaxptc1.jpg)](https://bugs.ruby-lang.org/issues/19015)  

[Proposal: Extending HereDocs to Support Multiple Languages?](https://bugs.ruby-lang.org/issues/19015) — To set the scene here, Matz’s [initial reaction](https://twitter.com/yukihiro_matz/status/1572880270013124608) to this proposal was _“There’s still half a year left until April Fool’s Day.”_ The idea here is to be able to specify a format/language against heredocs (somewhat as with Markdown code blocks) and to then process those documents dynamically in a custom method. Joke or not, when such an esteemed core team member has an idea, it’s worth checking out, and plenty of jokes have taken off (SOAP.. LINQ.. 😏) 

Koichi 'ko1' Sasada   [![\](https://copm.s3.amazonaws.com/3e6edd6c.png)](https://www.rookout.com/solutions/live-debugger/?utm_campaign=Cooper&utm_source=ruby&utm_medium=NL) 

[Debug Ruby Apps in Production Without Stopping Them](https://www.rookout.com/solutions/live-debugger/?utm_campaign=Cooper&utm_source=ruby&utm_medium=NL) — Rookout provides developers real-time access to code-level data, logs, traces, and metrics to troubleshoot and debug their cloud-native applications in any environment including production. Debug without having to recreate, redeploy, or stop the app. 

Rookout sponsor   

['How Do I Test X' Is Almost Always Answered with 'By Controlling X'](https://berk.es/2022/09/19/test-x-by-controlling-x/) — The sort of insight you probably already have but never put into words before. The next question is, well, _how_ do you control X? The author explores the idea with some simple Ruby code and considers the importance of dependencies. 

Bèr ‘berkes’ Kessels   

[Synvert 1.0: A Tool to Rewrite Ruby Code Automatically](https://github.com/xinminlabs/synvert-ruby) — It’s been a few years since we mentioned Synvert, but 1.0 is now here. You write 'snippets' that then dynamically rewrite existing Ruby code (see this [`flash` / `redirect_to` example from 2017.](https://thomasleecopeland.com/2017/08/15/automating-redirectto-flash-cleanup.html) I gave it a try – it’s a _little_ touchy to set up, but did work. 

Xinmin Labs   

**QUICK BITS:** 

- [Haml 6.0](https://github.com/haml/haml/releases/tag/v6.0.0) is finally here, and it's a lot faster than ever before.
- Another [Ruby running in the browser](https://rubyonwasm.onrender.com/) via WebAssembly experiment. Lightweight and feels fast.
- Over on Twitter, Justin Searls shared a screenshot from a Slack conversation where he explains [🐦 why he'd recommend _against_ RSpec nowadays.](https://twitter.com/searls/status/1570471265944866816) _([Gist](https://gist.github.com/peterc/4536cc855a705cbd6130a4bf63ad9b5c) of the raw text for accessibility.)_
- If, somehow, you're still using SVN / Subversion, be aware that [svn.ruby-lang.org will shut down](https://bugs.ruby-lang.org/issues/18987) in November. It's now Git all the way since the main repo [switched to git](https://www.ruby-lang.org/en/news/2019/04/23/move-to-git-from-svn/) in 2019.
- Gift Egwuenu has posted the [latest monthly update](https://blog.rubygems.org/2022/09/17/august-rubygems-updates.html) from the RubyGems project.  

📖 Articles, Stories & Videos  

[A Hybrid Docker and Ruby Development Environment](https://deanpcmad.com/2022/my-hybrid-docker-ruby-environment/) — As well as being a handy way to _deploy_ software, containers can be handy for isolating _dependencies_ at development time, so you run Ruby and Rails on your machine dev-style but MySQL and Redis, say, can be managed by Docker. 

Dean PC Mad   

[How to Install (Or Get Rid Of) 'therubyracer' on M1/M2 Macs](https://www.rubyonmac.dev/how-to-install-therubyracer-on-m1-m2-apple-silicon-mac) — [therubyracer](https://github.com/rubyjs/therubyracer) provides a way to work with the V8 JavaScript runtime from Ruby and has come in _very_ handy over the years, particularly with Rails’ asset pipeline. It doesn’t support modern M1/M2-based Macs though, and.. you no longer probably need it anyway. 

Moncef Belyamani   

[Free eBook: Advanced Database Programming with Rails and Postgres](https://pganalyze.com/ebooks/advanced-database-programming-rails-postgres?utm_source=RubyWeeklySecondary09222022) — Learn about subqueries, materialized views, and custom data types in Postgres & Rails and follow along with our examples. 

pganalyze sponsor   

[How One Team Upgraded Its Apps from Rails 6 to Rails 7](https://www.bigbinary.com/blog/how-we-upgraded-from-rails-6-to-rails-7) — 6 to 7 wasn’t one of the biggest shifts, thankfully, but there were still some challenges, such as in moving from attr_encrypted to Active Record Encryption. 

Abhishek T   

[Deploying Rails with Docker and AWS Fargate](https://www.honeybadger.io/blog/rails-docker-aws-fargate/) — AWS Fargate (essentially a serverless-eque approach to running containers) can simplify the convoluted process of deploying Docker on Amazon’s Elastic Container Service (ECS). 

Aestimo Kirina   

**EXTRAS:** 

- [Securely using SSH keys in Docker to access private GitHub repositories](https://www.fastruby.io/blog/docker/docker-ssh-keys.html)
- [Rails now uses `error_highlight` to locate the columns where an error is present](https://blog.saeloun.com/2022/09/20/use-error-highlight.html)
- [Code linting and auto-formatting with RuboCop](https://blog.devgenius.io/ruby-code-linting-and-auto-formatting-with-rubocop-316e9307f129)
- [OAuth2 explained with cute shapes](https://engineering.backmarket.com/oauth2-explained-with-cute-shapes-7eae51f20d38)  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/btfztzrcjveyyodqetun.jpg)](https://jhollinger.github.io/occams-record/)  

[Occams Record: An Advanced Query Library to Sit Alongside Active Record](https://jhollinger.github.io/occams-record/) — Keep using Active Record but get a little bit _extra_ with Occams Record. It lets you customize SQL, use cursors, use eager loading against raw SQL, and more. 

Jordan Hollinger   

[Holidays 8.6: Methods to Deal with Special Days](https://github.com/holidays/holidays) — Days off, vacations, public holidays.. whatever you call them, they’re special days that your app may well need to handle in some way. _Holidays_ makes it possible and covers numerous countries with its [YAML-based definitions.](https://github.com/holidays/definitions/) 

Holidays Team   

[Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut](https://shortcut.com/?utm_source=cooperRubyWeekly&utm_medium=spon_nl&utm_campaign=prospecting&utm_content=fourletter) 

Shortcut (formerly Clubhouse.io) sponsor   

[ToResult: A `dry-monads` Wrapper Bringing the Railway Pattern to Ruby](https://github.com/a-chris/to-result) — [dry-monads](https://dry-rb.org/gems/dry-monads/1.3/) is a member of the popular ‘dry’ family of Ruby libraries that brings, unsurprisingly, monads to Ruby. _ToResult_ aims to reduce the amount of boilerplate needed and make `Do`, `Result`, and `Try` easier to use. 

Christian X   

- [connection_pool 2.3](https://github.com/mperham/connection_pool)
 ↳ Generic connection pooling approach.
- [SyntaxTree 3.6](https://github.com/ruby-syntax-tree/syntax_tree)
 ↳ Ruby parser and formatter.
- [Gush 2.1](https://github.com/chaps-io/gush)
 ↳ Parallel workflow runner using ActiveJob and Redis.
- [HAML-Lint 0.41](https://github.com/sds/haml-lint)
 ↳ Tool for cleaner HAML. Supports Haml 6.0.
- [Hanami 2.0.0 beta 3](https://hanamirb.org/blog/2022/09/21/announcing-hanami-200beta3/)
 ↳ Fast Web framework. 2.0 final is going to be fantastic.
- [css_parser 1.12](https://github.com/premailer/css_parser) – Pure Ruby CSS parsing.     

Jobs  

[Serving Podcasts with RoR? ✅](https://podigee.jobs.personio.de/job/820147?_pc=913369) — Join our experienced and friendly team as a Software Developer (f/x/m) and work on a high-traffic RoR app serving a growing industry. 
Podigee GmbH   

[Find Ruby Jobs Through Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-rubyweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired           

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

[Change your email](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   

Other weekly newsletters we publish include [Postgres Weekly](https://postgresweekly.com/), [React Status](https://react.statuscode.com/), [Frontend Focus](https://frontendfoc.us/), and [JavaScript Weekly](https://javascriptweekly.com/).
