---
title: "Ruby for game development is no joke"
publication: "Ruby Weekly"
issue: 637
published_at: "2023-01-19"
canonical_url: "https://rubyweekly.com/issues/637"
---

Plus Shopify's endorsement of YJIT, fast dataframes for Ruby, and Ruby away from Rails. |        

#​637 — January 19, 2023 

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

Together with [![pgAnalyze\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_350,h_100/e_make_transparent/co_white,e_outline:7/lhwcvgc1asd4fzaahty4.png)](https://pganalyze.com/ebooks/advanced-database-programming-rails-postgres?utm_source=RubyWeeklyPrimary01192023)  

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/g6uwfp749tsiqynuavph.jpg)](https://shopify.engineering/ruby-yjit-is-production-ready)  

[Ruby 3.2’s YJIT is Production Ready](https://shopify.engineering/ruby-yjit-is-production-ready) — YJIT has been in production at Shopify since mid-December and, as part of Ruby 3.2, is now robust and production ready. Shopify has seen a ~10% speed bump across the board and many individual benchmarks are even better. This article provides a good update on the state of play as well as the team’s future plans. 

Maxime Chevalier-Boisvert (Shopify)   

[The Gemfile of Dreams: The Libraries _Evil Martians_ Use to Build Rails Apps](https://evilmartians.com/chronicles/gemfile-of-dreams-libraries-we-use-to-build-rails-apps) — If martians (or, at least, the developers at [Evil Martians](https://evilmartians.com/)) landed and demanded the perfect set of gems to build a Rails app, you could show them this detailed post that covers all categories of gems while also learning about some new gems for your own apps. 

Vladimir Dementyev & Travis Turner (Evil Martians)   [![\](https://copm.s3.amazonaws.com/7dc9c345.png)](https://pganalyze.com/ebooks/advanced-database-programming-rails-postgres?utm_source=RubyWeeklyPrimary01192023) 

[Free eBook: Advanced Database Programming with Rails and Postgres](https://pganalyze.com/ebooks/advanced-database-programming-rails-postgres?utm_source=RubyWeeklyPrimary01192023) — Learn about subqueries, materialized views, and custom data types in Postgres and Rails. We walk through realistic real-life examples, translating first into SQL, and then into Rails code. Every example comes with source code so you can follow along. 

pganalyze sponsor   

▶['Ruby for Game Development? Is This a Joke?'](https://www.youtube.com/watch?v=bIyxKG_Feto) — [DragonRuby](https://dragonruby.org/) is certainly no joke and can produce pretty cool 2D experiences. In just 8 minutes, Brett shows it off a bit and points to his [Building Games with DragonRuby](https://book.dragonriders.community/) book. 

Brett Codes   

**QUICK BITS** 

- There was a discussion on Hacker News about [folks using Ruby for building webapps _without_ Rails.](https://news.ycombinator.com/item?id=34354129) Sinatra, Hanami, and static site generators all make an appearance.
- Caleb Hearth [recommends reading Ruby's `Enumerable` documentation](https://calebhearth.com/ruby-enumerable) and we agree – it's full of tidbits you'll use on a daily basis. _(Curiously, ChatGPT appears to have been used in writing this post, but it doesn't read that way to me.)_
- Rails [has gained a default endpoint for health monitoring](https://github.com/rails/rails/pull/46936), namely `/up`. The [implementation](https://github.com/rails/rails/pull/46936/commits/9e093d124136b9e3ed0a9184407fdc3afc5d5c3b#diff-dfd63e49a9b67adb3b3ada9ac7e38ad7f29945b3f3db66eab4a663e98ac96ab1) is remarkably simple.
- Ruby's second-class Windows experience has been raised as a problem numerous times over the years and [it's been raised again](https://bugs.ruby-lang.org/issues/19325) with Matz citing a _"lack of contributors with extensive experience"_ of Windows development.  

📕 Tutorials, Articles & Features  

[Writing Better Action Mailers: Revisiting a Core Rails Concept](https://boringrails.com/articles/writing-better-action-mailers/) — When is the last time you really looked at your mailers? It’s probably been a while, so you may not know some of the new features added to mailers in recent versions, like parameterized mailers and dynamic defaults. 

Matt Swanson   

[Evaluating More Coverage in Ruby 3.2](https://kevinjmurphy.com/posts/evaluating-more-coverage-in-ruby-3-2/) — We linked to Kevin’s post last week about finding a bug in the new Coverage code, and this post goes into how to properly invoke the new options around `eval.` 

Kevin Murphy   

[Rails’ Hidden Gems - ActiveRecord Store](https://www.honeybadger.io/blog/rails-activerecord-store/?utm_source=rubyweekly&utm_medium=email&utm_campaign=ruby) — Read an article from our series spotlighting Rails’ lesser-known gems. Check it out and level-up your Rails brain! 🧠 

Honeybadger sponsor   

[How to Parse Arguments in Your Ruby C Extension](https://blog.appsignal.com/2023/01/18/how-to-parse-arguments-in-your-ruby-c-extension.html) — If you have ambitions to write a C extension, this article describes two methods of parsing arguments, their pros and cons, and which is recommended in most cases. 

Ulysse Buonomo   

[Signed URLs with Ruby](https://kukicola.io/posts/signed-urls-with-ruby/) — Signed URLs are an excellent security feature for specific use cases, such as when you want to provide limited access to an otherwise publicly reachable resource, and here are three ways to get it done. 

Karol Bąk   

[Advanced CLI Tools with Ruby and dry-cli](https://hanamimastery.com/episodes/37-dry-cli) — dry-cli makes adding help text, subcommands, and other bits to add more polish to your Ruby CLI tools. 

Hanami Mastery   

[Rails Upgrades You Can Depend On](https://www.upgraderails.com) 

upgraderails.com sponsor   

▶[Making `awesome_print` The Default Object Renderer in IRB](https://www.youtube.com/watch?v=0_o_ByqVgL8) 
RubyCademy   

[How to Test OmniAuth Params](https://gorails.com/blog/how-to-test-omniauth-params) 
Chris Oliver   

[Helpful Resources for Learning Git](https://fpsvogel.com/posts/2023/learn-git) 
Felipe Vogel  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/z90uitdjgyybmyfe3smo.jpg)](https://github.com/ankane/polars-ruby)  

[Polars Ruby: Fast Polars-Inspired DataFrames for Ruby](https://github.com/ankane/polars-ruby) — For a variety of reasons, Ruby isn’t commonly associated with data analytics work, but libraries like this certainly open up some doors. _(If you’re unfamiliar with the term ‘dataframe’, picture a spreadsheet.)_ 

Andrew Kane   

[sqlite3-ruby 1.6.0: Ruby Bindings for SQLite3](https://github.com/sparklemotion/sqlite3-ruby) — This release introduces native gem support for Ruby 3.2 (and drops it for 2.6). The vendored SQLite 3 version is now [v3.40.1.](https://sqlite.org/releaselog/3_40_1.html) 

Sparkle Motion   

[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   

[Caffeinate: A Rails Engine for Drip Campaigns/Scheduled Email Sequences](https://github.com/joshmn/caffeinate) — Provides a DSL to create scheduled email sequences which can be used by ActionMailer without any additional configuration. 

Josh Brody   

[Inertia.js 1.0: Build SPAs for Any Backend](https://inertiajs.com/) — Inertia aims to be the ‘glue’ between various frontend libraries (React, Vue, or Svelte, say) and server-side frameworks, such as Rails which is officially supported (as well as Laravel). 

Jonathan Reinink   

- [parallel_tests 4.1](https://github.com/grosser/parallel_tests)
 ↳ More cores == faster testing.
- [StoreModel 1.5](https://github.com/DmitryTsepelev/store_model)
 ↳ Work with JSON-backed attributes as ActiveRecord-ish models.
- [IdentityCache 1.3](https://github.com/Shopify/identity_cache)
 ↳ Blob-level caching solution for Active Record.
- [Roar 1.2](https://github.com/trailblazer/roar)
 ↳ Parse and render REST API documents using representers.
- [OmniAuth::Apple 1.3](https://github.com/nhosoya/omniauth-apple)
 ↳ OmniAuth strategy for _'Sign In with Apple'_
- [Howitzer 2.6](https://github.com/strongqa/howitzer)
 ↳ Web app acceptance testing framework.
- [ReviseAuth 0.2](https://github.com/excid3/revise_auth)
 ↳ Pure Rails authentication system a la Devise.     

Jobs  

[Land Your Next Rails Job Without the Hassle ✨](https://railsdevs.com/?ref=ruby-weekly) — Create your profile and have companies reach out to YOU. ❤️ Get hired on RailsDevs, the open source REVERSE job board for Rails developers. 
RailsDevs   

[Fully Remote, Exceptional Team Culture](http://go.ombulabs.com/9dg) — Do you love maintenance, performance and upgrades? Join a company of experts at [FastRuby.io](https://www.fastruby.io/) a service of[OmbuLabs](https://www.ombulabs.com/). 
FastRuby.IO           

Curated by [Peter Cooper](https://x86.social/@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/).
