Short Ruby News - Edition #84
You can jump directly to a section:
🚀 New Products & 📅 Events
👉 All about Code and Ruby: 💻 Code, 📐Code Design,💡Around, ❤️ Why Choose Ruby
🧰 Gems, Libraries, and Updates: 🆕 New, 🧰 Updates
More content: 📚 🗞 🎧 🎥 ✍🏾 (articles, podcasts, videos, newsletters)
🚀 New Products
🚀 Prabin Poudel launched Zero Config Rails
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f1a1373-e609-4249-b105-470fbd1ad5a2_2248x1048.png)
🚀 Paweł Dąbrowski launched Buildless.app
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8167525c-afbf-4d5b-990b-c428d0bc6eb4_1220x1168.png)
🚀 Guillaume launched the new documentation for Stimulus Components
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16430fb1-de5d-4425-bfef-a6005f06f5d8_1234x962.png)
📅 Events
📅 Red Dot Ruby Conf announced that RedDotRuby conference is back → RDRC 2024
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1312b1a-2399-439e-8cc3-a53585136dbb_1236x1756.png)
📅 Muhamed Isabegović shared they lowered the minimum prices for EuRuKo
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2d5c4a2-580a-4a57-9633-629d62a9a85a_1238x1222.png)
📅 Ruby For Good announced the registration is open for Ruby for Good
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dd9db9e-a07f-443b-a61a-d9ddf5762322_1224x1598.png)
📅 African Ruby Community announced the CFP is open at PaperCall.io - Ruby Conf Africa 2024
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f23999d-0da4-4df8-92b2-32c1a57aec12_1230x1590.png)
📅 Madison+ Ruby announced CFP is open at Madison Ruby: Your Ruby Community
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8f81471-ab2a-4584-84ba-cc50edd6fde4_1224x1006.png)
📅 Helvetic Ruby announced the speaker lineup Helvetic Ruby | 17th of May 2024, Zürich
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3c2cad5-cca0-4572-83be-4edfd17f4c26_1250x474.png)
👉 All about Code and Ruby
💻 Code Samples
👉 Étienne Barrié and Jean Boussier added a commit to Ruby 3.4-dev Implement chilled strings · ruby/ruby@12be40a
Jean Boussier shared a bit more about this:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9ffaee6-755a-4172-a70d-5c5367a1a2f3_1242x768.png)
And you can read the feature proposal at Enable `frozen_string_literal` by default
👉 Truffle Ruby announced a new version of Release TruffleRuby 24.0.0 · oracle/truffleruby
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8037aa4f-7b89-4999-a2a3-b8a67acfb40d_1232x442.png)
👉Aaron Patterson shared about optimizing delegates in Ruby:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e056813-afd0-47dc-ae34-5677721ea6b9_1208x1582.png)
👉 Steven R. Baker shared A demonstration of how you might implement a `context` helper for sharing state between tests when using the declarative `test` helper in ActiveSupport with the warning that it should not be used:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67c9c030-a033-445f-a65c-ddd952fc3d5e_1226x628.png)
Here is the main part of the gist but I think you should read it all:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc906697d-17bf-40df-bed4-ffd210cccf8a_1904x650.png)
👉 Hans Schnedlitz shared a tip about the aliasing method in Thor:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4958c0ba-155d-44c5-890a-419ed415aa53_1234x1146.png)
👉Nicolas Buduroi shared about using presence_in:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8b09aa3-eae2-4b3f-aa23-dd1cab189c85_1262x536.png)
👉 Casper Klenz Kitenge shared about the fact that Rails render looks also in app/views/application and can be used for shared partials:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ad7d41b-76c9-4e20-8f18-3e5e7e5fbbdb_1322x1694.png)
👉 Matheus Richard shared about configuring ActiveRecord::QueryLogs - Ruby on Rails API
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffedead7b-f9e5-4a61-8fda-0d9acdd9bd66_1308x1200.png)
Here is a similar example shared by RubyCademy:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4769e51-db5d-4065-96f3-94dbe21c2aac_1220x1470.png)
👉 Onur özer shared how to use Rails helpers to generate all days of a year:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd75c283c-aa04-46a8-9139-2a65abca70e1_1230x520.png)
And Benedikt Deicke shared another helper:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8f9bc5b-3361-40ba-93b1-a1738da8d551_1228x926.png)
👉 David Colby shared about adding the refresh/scroll position meta tags for Turbo:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f1da1e3-4275-4294-883d-7207b7e47b5b_1224x1222.png)
👉 Ruby Cademy shared a code sample about using Rails enum validation:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff32aee4-2d13-4e39-a7c7-3af21239c5e8_1222x1214.png)
Rails also shared the a code sample for validating enums:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F038ac5d5-975e-4958-9fda-8c4b183371d5_1222x1008.png)
👉 Dima Fatko shared a code sample about Shitlist Driven Development
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a4e636f-87b6-4b20-b717-78c477e4eb63_1240x1284.png)
👉 Facundo Espinosa shared about the auto scroll working for turbo frames not working when the first child is not generating any box:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f8c4221-1327-44e9-a500-de9c8623a38b_1208x392.png)
👉 Maxim Krizhanovski shared that x&.&foo
is a valid Ruby syntax:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2b18876-1f1a-4bc0-9382-ae54c4299273_1236x284.png)
👉 Jorge Manrubia shared a code sample about working with date/time:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6a1bbce-1fb0-4fb4-a22a-06bfb2bf00f1_1234x552.png)
👉 David Colby shared about turbo refreshes:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bdabb24-b313-4f8f-aaa7-d761cc4a4363_1236x1206.png)
👉 Dave Kimura shared about attribute::attachement that can be used in generators:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddc3f969-aa23-4042-9341-494ee629b94d_1216x844.png)
👉 Joel Drapper shared about selective rendering:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6b3f546-4a79-4a85-b422-be09c2c7295d_1224x1458.png)
👉 Maxim Krizhanovski shared about active_record_block_matchers:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbfc7cf2-6276-4fb3-9373-5828955408ab_1230x788.png)
👉 Tom shared how they use then:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9f228a5-d21a-4519-b3b2-d9f31aea6cb2_1228x1102.png)
👉 Ruby Cademy shared a tip about generating a new rails app with minimal configuration:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92289588-b982-429c-8d5a-495535917365_1230x1184.png)
👉 Prabin Poudel shared a code sample about impersonating users with token base authentication:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae0e6a26-ad1c-484f-877a-e17751f61c68_1224x1444.png)
👉 Josef Strzibny shared about upgrading to Rails7 with Turbolinks and Sprockets:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf948cea-58bf-4e1c-8fea-bf555caeab4c_1218x348.png)
👉 Cameron Dutro asked a question about trying to access an array with a float index:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d64b50b-232d-44d7-8f08-cfa31e07f6d6_1224x1064.png)
👉 Landon Gray shared a code sample about supporting Retrieval Augmented Generation in Ruby apps:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45777ad0-5a88-4c13-9fcc-85664fec35dd_1222x1272.png)
📐 Thinking about Code Design
👉 Joel Drapper shared how they are streaming Rails error page in development:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa5b5c77-56ce-4e62-b1be-768621550e0c_1220x868.png)
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90857f06-30ad-4915-a4fa-f4adc7694375_1224x622.png)
👉Nithin Bekal shared about metaprogramming:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F348d56cc-d95f-49d6-a802-61db7abd5c6c_1234x694.png)
👉 Greg Molnar asked about writing security tests:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2d066e1-c178-4225-ae5b-e5cdbb02fd9b_1224x424.png)
👉 Robert Pankowecki shared about sanitizing user html:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef88cc9a-c0fd-44a1-9878-c291f520a5e6_1268x1236.png)
One other take on this:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feef9e3f5-d361-465e-9f78-b8017d767f91_1222x398.png)
👉 John Mc Dowall asked about patterns for handling multi-step user on-boarding:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F065c207d-1694-4e0e-aacd-c6c6695284b0_1220x630.png)
Here are some replies:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe106bd4e-c79a-4430-b182-45140261e08d_1224x1064.png)
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d542737-1990-499a-9bf3-2681f0c5c514_1230x868.png)
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c05f1c5-cd26-44f5-9d68-6dbc6da77759_1222x628.png)
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F741f7a1e-9170-490e-8f1e-a6ba9f597152_1232x1170.png)
👉 Bhumi asked about the difference between view and template:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F505551ac-82d7-4540-9440-b0c088409dd1_1226x642.png)
Here are some replies:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75e1cab8-ad32-4e21-85ad-b8aa23e1ff2b_1250x478.png)
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ef28755-9970-4ce1-bca7-837a571bf601_1224x492.png)
👉 Michael Chaney asked about why OpenStruct is much slower:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff95060c6-2944-4259-8f00-fb8bc2673271_1228x288.png)
Jean Boussier answered:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1e6ec95-0b2e-430f-95ec-ffc841405e02_1228x540.png)
👉 Joel Drapper shared about the need to cache:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d54643d-55c5-4bd0-a35d-05771520848d_1212x394.png)
Here are some replies about this:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99ab83a1-d122-4742-a5c7-0aaceeaee064_1222x346.png)
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc0a092c-6d80-4f84-847f-aa825e20fdbb_1228x532.png)
💡 Around code (news, findings, books and more - all about Ruby)
👉 Ruby On Rails shared about Rails Guides get a facelift
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7327a01-1f5e-46eb-a06d-770cc35dc644_1230x1100.png)
👉 Jared White shared Sponsor @jaredcwhite on GitHub Sponsors
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4dc43ab-7a1e-4cc5-a347-83d0e35b0e63_1252x858.png)
👉 Ruby Central shared about the grant they received:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aaf9224-68ba-4e2f-b300-dbf9a2555cec_1228x1010.png)
👉 Ruby On Rails shared rails rails Docs · Discussions
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73757b83-9f83-467b-a1be-49440e65d3c5_1220x404.png)
👉 Paweł Dąbrowski shared that the first 3 chapters are available for free at Ruby on Rails on AWS
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffacb1a0b-41a7-4b6b-84ca-211dbb753ccd_1230x1000.png)
👉 Ernesto Tagwerker shared their slides from Sin City Ruby about Stuck in the Tar Pit at Sin City Ruby '24
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00979e9d-72b1-4e9d-9898-ebbdaebc5efb_1262x510.png)
👉 Alexandre Ruban shared that their tutorial about Hotwire reached 1M page views:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc068881e-2483-4298-aa0a-ab7e7c41a14b_1226x1050.png)
👉 Josef Strzibny asked about who is creating paid content for Rails front-end and Hotwire:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1876f498-0767-46d8-bc78-dceb14c20b4e_1224x294.png)
Here are some of the replies:
The Hotwire Club | Learn Turbo and Stimulus together with fellow enthusiasts -by Julian Rubisch
The Rails and Hotwire Codex: Build an app for web, iOS, and Android by Ayush
Hotwired ATS: Modern, full-stack Rails 7 development by David Colby
Hotwire Migration - A React To Hotwire Migration Service by Pascal Laliberté
👉 Obie Fernandez shared Join the Ruby AI Builders Discord Server!
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9eb2ea65-1768-41ff-a3b1-6bff285fb4f7_1226x548.png)
👉 Scott Werner shared Blueprints for Phlex and DaisyUI
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0dc9ab0-b104-470c-81af-186678fc37a9_1220x498.png)
❤️ Why Choose Ruby
❤️ The Rails Changelog asked about reasons for picking Ruby on Rails over other web frameworks:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03979f4f-30aa-47f9-b3f4-d4f54dcbdae0_1228x664.png)
Josh Brown replied with:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f22d474-cc87-4ccc-aa87-09cd2016bb70_1226x248.png)
❤️ Rafael Peña Azar shared that Ruby and Crystal can be used for more than web development:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb8a8457-5ed5-45f1-aaef-d5d80615e7fb_1226x310.png)
❤️ Schappi shared about using Ruby on Rails framework:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9716168e-6ee0-4de5-9ba4-cd6e9a4474e1_1220x1108.png)
🧰 Gems, Libraries, Tools and Updates
🆕 New Gems and Repos
🆕 Stephen Margheim announced a new gem feather: Ruby library for working with SQLite elegantly
🆕 Arjun Lall and Evgeny Li published a new gem bemi-rails: Robust data change tracking for Rails
🆕 Obie Fernandez announced a new gem OpenRouter - Ruby library for OpenRouter API
🆕 Kevin Newton announced a new gem onigmo: A Ruby wrapper around the onigmo regular expression library
🆕 Rafael França announced a new repo rails/rails-new
🧰 Updates
🧰 Hiroshi SHIBATA announced two vulnerabilities on StringIO gem:
🧰 David Rodriguez announced a new release of RubyGems:
🧰 Alan Wu merged a PR to Ruby about YJIT: Avoid leaks by skipping objects with a singleton class
Related to this Andrei Maxim shared a performance graph:
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3f8ca4c-3748-4121-92a0-57b0e462929e_1224x1100.png)
🧰 David Heinemeier Hansson announced that solid_queue is now moved to Rails: rails/solid_queue: Database-backed Active Job backend
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22cd265f-4e42-4c12-be83-57040dc1ead9_1228x354.png)
🧰 Rosa Gutierrez merged a new PR to Solid Queue about Add support for recurring tasks (cron style jobs)
She also added support to Mission Control Job Expose recurring jobs
🧰 Okura Masafumi announced a new version for [Feat] Add the ability to change key for metadata by okuramasafumi · Pull Request #362 · okuramasafumi/alba
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30c0107d-7cb3-4b3c-9977-8a8d65c789ca_1234x618.png)
🧰 Joel Drapper shared Improve performance by using bytesize when comparing if the string changed by davekaro · Pull Request #690 · phlex-ruby/phlex
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80b3ee0b-3b26-42f8-a77f-22dcf2329c76_1232x746.png)
🧰 Kirill Platonov announced a new version of Release v2.0.0 · baoagency/polaris_view_components
🧰 Any Cable announced a new version of Release 1.5.0-rc.1 · anycable/anycable-go
🧰 Chris Oliver announced a new version of GitHub - excid3/noticed: Notifications for Ruby on Rails applications
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a0cee54-4cf0-4b0d-95d5-d398e90bcf0c_1234x538.png)
🧰 John Nunemaker announced a new version of Drop old ruby support by jnunemaker · Pull Request #799 · jnunemaker/httparty
![](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b8cad58-5c83-4a66-af69-45da8595e51a_1226x490.png)
🧰 Jeremy Evans announced a new version of Rodauth 2.34.0 Released · jeremyevans rodauth · Discussion #399
More content: 📚 🗞 🎧 🎥 ✍🏾
🗞 Newsletters
🗞 Vipul A M published a new edition of This Week in Rails about Rails guides facelift, two new official gems and more!
🗞 Hotwire Weekly published a new edition about Week 12 - New Turbo Native Releases, sortable tables with Turbo 8, and more!
🗞 Ruby Weekly published a new edition about Chilling out with Ruby strings
🗞 Ruby LibHunt published a new edition about Awesome Ruby Newsletter - Issue 409, Mar 21, 2024
🎧 Podcasts
🎧 Yaroslav Shmarov published a new podcast about Why Detroit?! Meet Ufuk, the secret organizer behind Rails Conf 2024 - Friendly Show
🎧 The Bike Shed published a new podcast about The Bike Shed: 419: What's New in Your World? (Extended Edition)
🎧 Indie Rails published a new podcast about IndieRails | Crafting Service Offerings
🎧 Chris Oliver published a new podcast about RailsConf 2024 with Ufuk Kayserilioglu - Remote Ruby
🎧 Ruby Rogues published a new podcast about Building Skills and Connections with Nathan Bellow - RUBY 629 - Ruby Rogues - Top End Devs
📽️ 🎥 Videos
Screencasts
🎥 Igor Alexandrov published a new video about Episode #1 – Basecamp's Kamal code walkthrough
🎥 Dave Kimura published a new video about Episode 447 - Bulk Updates | Drifting Ruby
🎥 Roland Lopez published a new video about [EP 11] High level intro to build a customiZed chat-gpt AI app using Ruby On Rails and Turbo
🎥 Dean De Hart published a new video about Live Coding with Jose Farias from 37Signals - Hotwire Combobox Gem and about Dev Containers - New To Rails 8! and about The Open3 Gem in Rails for Background Processes
🎥 Sam Johnson published a new video about How to setup a Postgres streaming replica with Kamal
🎥 Yaroslav Shmarov published a new video about SupeRails #163 Instant page loads with Turbo 8 prefetch
🎥 Cezar Halmagean published a new video about Building a Property Management System (live stream)
🎥 Rubyconftw published a new video about RubyConf Taiwan 2023
🎥 Jose Farias published a new video about Ruby on Rails Live Coding | Maybe Finance | Swappable Data Providers
✍🏾 Articles
What’s new 🆕
Jeremy Friesen published an article about Refactoring a Ruby Module Mixin into a Class
Caleb Hearth published an article about Write cleaner, self-documented tests by defining methods in RSpec
I published an article about Endless Method Syntax History and about Ruby Benchmark: Data.define, Struct, OpenStruct
Eric Berry published a new article about Awesome Hotwire
Julik Tarkhanov published a new article about Testing a Thousand Applications With Flipper
Thomas Riboulet published an article about Good Database Migration Practices for Your Ruby on Rails App using Strong Migrations
Deep Dives 🔍
Noel Rappin published a new article about Better Know A Ruby Thing #5: Block Arguments
Justin Searls published an article about How to control Time in Ruby on Rails
David Colby published a new article about Turbo 8 morphing refreshes on Rails
How-TOs 📝
Greg Molnar published an article about Brute-forcing 2FA with Ruby
Miles published a new article about Automated Database Backups with Kamal
Damian C. Rossney published an article about Full Stack Hanami, Part 1, Full Stack Hanami, Part 2, and Full Stack Hanami, Part 3
Ismael Celis published an article about Practical Railway-Oriented Pipelines in Ruby
David Colby published an article about Building a sortable table with Turbo 8's page refreshes
Shinsoku published a new article about Understand the difference between untyped, void, top, and bot of RBS - JP (EN version translated with Google translate)
Jan Grela published a new article about SQL views in Ruby on Rails - Blog - Visuality
James Hibbard published a new article about Using dry-validation with Grape
Borja Garcia De Vinuesa Ordovás published a new article about Flexible Enum Definitions in Ruby on Rails: Planning for the Future
David Boureau published an article about Ruby regex guide
Jijo Bose published an article about Rails 8 adds allow_browser to set minimum browser version
Related
Niki published an article about JavaScript Bloat in 2024
Michael Buckbee published a new article about How to block AI bots from scraping your site