---
title: "IRB adds type-based completions"
publication: "Ruby Weekly"
issue: 678
published_at: "2023-11-16"
canonical_url: "https://rubyweekly.com/issues/678"
---

Plus Ruby 3.3 preview 3, and YJIT is fantastic. |        

#​678 — November 16, 2023 

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

Together with [![AppSignal logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_700,h_120/e_make_transparent/co_white,e_outline:7/lme8p344dw1aodshz9px.png)](https://blog.appsignal.com/2023/11/06/we-have-levelled-up-our-top-monitoring-features.html?utm_source=ruby-weekly-sponsored&utm_medium=email&utm_campaign=2023-11-06)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/nvdrajaxqnjaurfqv0ym.jpg)](https://www.ruby-lang.org/en/news/2023/11/12/ruby-3-3-0-preview3-released/)  

[Ruby 3.3.0 Preview 3 Released](https://www.ruby-lang.org/en/news/2023/11/12/ruby-3-3-0-preview3-released/) — With just 39 days till Christmas and Ruby 3.3, it’s time for another preview release. 3.3.0-preview3 retains all the prior 3.3 improvements like those to YJIT performance, but also introduces the [M:N thread scheduler](https://bugs.ruby-lang.org/issues/19842) and the [Prism Ruby parser](https://github.com/ruby/prism) (formerly YARP). 

Yui Naruse   

[YJIT is the Most Memory-Efficient Ruby JIT](https://railsatscale.com/2023-11-07-yjit-is-the-most-memory-efficient-ruby-jit/) — Shopify’s tireless work on YJIT has paid off in many ways, including a ~15% speed-up for their storefronts. The team’s methodology on benchmarks, however, goes beyond performance to warm-up time and memory (RSS) size. All in all, YJIT is shaping up to be what we hoped it would be: a great boost to Ruby and Rails development. 

Maxime Chevalier-Boisvert (Shopify)   

⚡️ YJIT is so good, in fact, that [Rails will enable it by default](https://github.com/rails/rails/pull/49947) on Ruby 3.3+.  [![\](https://copm.s3.amazonaws.com/b371568e.png)](https://blog.appsignal.com/2023/11/06/we-have-levelled-up-our-top-monitoring-features.html?utm_source=ruby-weekly-sponsored&utm_medium=email&utm_campaign=2023-11-06) 

[AppSignal Has Levelled up](https://blog.appsignal.com/2023/11/06/we-have-levelled-up-our-top-monitoring-features.html?utm_source=ruby-weekly-sponsored&utm_medium=email&utm_campaign=2023-11-06) — When bits hit the fan, you need a reliable APM by your side. With AppSignal, you get a 360° overview of your app, and our latest improvements will help you identify issues even faster. 

AppSignal sponsor   

[“Useless Ruby Sugar”: Keyword Argument and Hash Values Omission](https://zverok.space/blog/2023-11-10-syntax-sugar3-hash-values-omission.html) — Victor’s tour through modern Ruby syntax continues with a look at the ability to implicitly pass values by virtue of using keyword argument names the same as the values’ variables, e.g. `my_func(name:, age:)`, in Ruby 3.1+. 

Victor Shepelev   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/w5f7raqugrmhsqfwswc7.jpg)](https://github.com/ruby/irb/pull/708)  

- 🥳 [IRB 1.9](https://github.com/ruby/irb/releases/tag/v1.9.0) has landed with support for [type based completion using Prism and RBS](https://github.com/ruby/irb/pull/708) (as above). Coming, too, to a Ruby 3.3 near you soon.
- 📺 Last week we featured Honeypot's fantastic [▶️ Ruby on Rails documentary](https://www.youtube.com/watch?v=HDKUEXBF3B4), but if you haven't got the time to watch a 44 minute video, there's now [a written article covering the same ground.](https://cult.honeypot.io/reads/ruby-on-rails-the-origin-story/)
- 🛤 Lucian Ghinda looked at folks who are using Rails in starting their own businesses and [discovered a whole world of Rails apps](https://allaboutcoding.ghinda.com/ruby-on-rails-projects-that-might-inspire-you-to-start-your-own) you too could be inspired by.  

📕 Articles & Tutorials  

[How GitHub Actions Can Turn Your Code Into a Docker Daemon](https://blog.testdouble.com/posts/2023-11-15-from-github-actions-to-docker-daemon/) — Explains how to have Github Actions automatically build containers and tag versions when the tests pass in CI for a simple Ruby command-line app. 

Andrew Coleman   

[The Future of Rails Test Data Management...?](https://blog.testdouble.com/posts/2023-11-13-the-future-of-rails-test-data-management/) — [test_data](https://github.com/testdouble/test_data) provides an alternative ‘novel, unconventional approach’ to managing your Rails app’s test data by way of a fourth `test_data` Rails environment. It’s an interesting idea, but even more interesting is that Justin wants to hand the project over to someone else immediately.. could it be you? 

Justin Searls   

[Fixed Price Monthly Code Maintenance for Rails Apps](https://reinteractive.com/services/code-care) — Starting from 10 hours per month, CodeCare will take care of necessary patches, bug fixes, upgrades and ongoing improvements for your app. 

reinteractive/CodeCare sponsor   

[RailsCasts Retrospective Part 2: The Fire](https://rbates.dev/railscasts-retrospective-part-2-the-fire) — The creator of RailsCasts (a pioneering screencast/educational site in the late 00s) began a series of posts telling the RailsCasts story [earlier this year.](https://rbates.dev/railscasts-retrospective-part-1-the-fuel) Now Ryan’s back explaining how it rapidly became popular and turned into a full-time job when it gained 2600 paying subscribers within a month. 

Ryan Bates   

[Gem Credentials Management with Gemstash](https://petr.codes/blog/ruby/gem-credentials-management-with-gemstash/) — For when you might need to manage credentials to access private or commercial gems as a team. 

Petr Hlavicka   

[How to Customize Rails Validation Errors to Remove Leading Attribute Column Names](https://www.writesoftwarewell.com/rails-custom-validation-error-messages/) 
Akshay Khot   

[How to Handle Incoming Webhooks with LiteJob for Rails](https://blog.appsignal.com/2023/11/15/handle-incoming-webhooks-with-litejob-for-ruby-on-rails.html) 
Julian Rubisch   

[Fan-out Sidekiq Jobs to Manage Large Workloads](https://naildrivin5.com/blog/2023/11/09/fan-out-sidekiq-jobs-to-manage-large-workloads.html) 
David Bryant Copeland  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/pqos1ah1cnof8yuwbp4l.jpg)](https://railsg.xyz/)  

[RAILSG: A Ruby on Rails Command Builder](https://railsg.xyz/) — Very handy. It’s a collection of reference guides and command builders for the various generator commands available in Rails. For example, let’s say you want to [run a benchmark on your app](https://railsg.xyz/benchmark) – RAILSG provides the docs _and_ a way to tweak the command to your needs without any command line guesswork. 

Harrison Broadbent   

[Seedie 0.4: Generate Realistic Seed Data for ActiveRecord Models](https://github.com/keshavbiswa/seedie) — Seedie’s USP is that it uses the Faker gem and a YAML file to seed your database with ‘real-ish’ data _for you_ so you don’t have to manage a giant `seeds.rb`. [v0.4.0](https://github.com/keshavbiswa/seedie/releases/tag/0.4.0) adds `has_and_belongs_to_many` support. 

Keshav Biswa   

[Need to Upgrade Ruby or Rails — But on a Tight Budget? We Can Help](https://www.fastruby.io/blog/monthly-maintenance-services.html?utm_source=cooperpress&utm_medium=paidplacement&utm_campaign=bonsai-nov-23&utm_term=fixed-cost&utm_content=textonly) — [FastRuby.io](https://twitter.com/FastRubyIO) offers fixed-cost, upgrade services starting at $2,000/month. Start your upgrade next week 🚀 

🌳 Bonsai by FastRuby.io sponsor   

[Preventing Bugs in Ruby: Some Tools of the Trade](https://radanskoric.com/articles/preventing-bugs-in-ruby-tools-of-the-trade) — _“This is an **opinionated** list of tools that I have found useful, placed here for easy reference and shared in the hope that others will find it useful.”_ 

Radan Skorić   

- [Grape 2.0](https://github.com/ruby-grape/grape) – Long standing opinionated framework for creating REST-like APIs – now with Rails 7.1 support.
- [Ruby-OpenAI 6.2](https://github.com/alexrudall/ruby-openai) – Use OpenAI's APIs from Ruby – now supporting their new text-to-speech features.
- [Business Class 1.2](https://nts.strzibny.name/businessclass-1.2/) – Josef Strzibny's (paid) Rails SaaS 'starter kit'. It's not free, but he has a Black Friday deal on, at least.
- [Pagy 6.2](https://github.com/ddnexus/pagy) – The popular generic pagination gem.
- [Slim 5.2](https://github.com/slim-template/slim) – The minimalistic template language.
- [Torch.rb 0.14](https://github.com/ankane/torch.rb) – Deep learning for Ruby.
- [Rails 7.1.2](https://rubyonrails.org/2023/11/10/Rails-7-1-2-has-been-released), [Kamal 1.2](https://github.com/basecamp/kamal/releases/tag/v1.2.0), and [RubyGems 3.3.27](https://blog.rubygems.org/2023/11/10/3.3.27-released.html)    

Jobs  

[Find Ruby Jobs with 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=easy-job-hunting) — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now. 
Hired           

Curated by [Peter Cooper](https://twitter.com/cooperx86) 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/).
