#637 — January 19, 2023 |
|
Ruby Weekly |
Ruby 3.2’s 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 — If martians (or, at least, the developers at Evil Martians) 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) |
Free eBook: Advanced Database Programming with Rails and Postgres — 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?' — DragonRuby 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 book. Brett Codes |
QUICK BITS
|
📕 Tutorials, Articles & Features |
Writing Better Action Mailers: Revisiting a Core Rails Concept — 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 — 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 Kevin Murphy |
Rails’ Hidden Gems - ActiveRecord Store — 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 — 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 — 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 — 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 upgraderails.com sponsor |
▶ Making |
How to Test OmniAuth Params
|
Helpful Resources for Learning Git
|
🛠 Code & Tools |
Polars Ruby: Fast Polars-Inspired DataFrames for 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 — 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. Sparkle Motion |
Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut Shortcut (formerly Clubhouse.io) sponsor |
Caffeinate: A Rails Engine for Drip Campaigns/Scheduled Email Sequences — 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 — 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 |
|
|