Short Ruby Newsletter - edition 117

The one where 1Password joins The Rails Foundation and where Dave Thomas solves Advent of Code with Ruby

In partnership with

Table of Contents

(ad πŸ‘‡)

Streamline your development process with Pinata’s easy File API

  • Easy file uploads and retrieval in minutes

  • No complex setup or infrastructure needed

  • Focus on building, not configurations

πŸš€ Launches and discounts

πŸš€ Stanislav Katkov launched the website for https://poshtui.com

Source: @skatkov.com

πŸš€ Lindsey Christensen launched the Hotwire Essentials

πŸš€ Sandi Metz announced a 40% discount for their books until 13 December:

Source: @sandimetz

Source: @msojka

πŸ“š Josef Strzibny announced that Test Driving Rails - 1st edition is out:

Source: @strzibnyj

πŸ“… Events

πŸ“… RoRvsWild shared a link to RubyConferences and RubyEurope sharing that Ruby Meetups are back all over the world:

πŸ“… Check RubyConferences.org/meetups as there 26 meetups this week only

πŸ“… Ruby Central invites Ruby meetup organizers to apply for a grant at https://buff.ly/4eYKm1m

πŸ“… Balticruby announced CFP is open at https://papercall.io/balticruby25:

Source: @balticruby

πŸ‘‰ All about Code and Ruby

(ad πŸ‘‡ )

Learn how to make AI work for you

AI won’t take your job, but a person using AI might. That’s why 800,000+ professionals read The Rundown AI – the free newsletter that keeps you updated on the latest AI news and teaches you how to use it in just 5 minutes a day.

πŸ’» Code Samples

οΈπŸ’» Drew Bragg shared a code sample about DATA constant:

Source: @drbragg.dev

πŸ’» Xavier Noria shared about Ruby β€œpipe” operator:

πŸ’» Akash Manohar shared a tip about enabling debugging for Stimulus:

οΈπŸ’» Prabin Poudel shared a code sample about accessing a helper method:

Source: @coolprobn

πŸ’» Joel Drapper shared a code sample about defining a / method to lookup a record by using a Base36 id

Stephen Margheim added another example:

πŸ’» Jamie Schembri shared a code sample about using StringInquirer from ActiveSupport

οΈπŸ’» JoΓ«l Quenneville shared a code sample showing how converting to UTC changes a time value:

Source: @joelquen

Source: @joelquen

πŸ’» Nate Berkopec shared a code sample about how IO/CPU interact with the GVL:

οΈπŸ’» Ruby Cademy shared a code sample using the Β» method:

Source: @RubyCademy

πŸ’» Akash Manohar shared a code sample about:

πŸ’» Benoit Daloze shared a code sample about code golfing Advent of code:

πŸ’» Jeremy Kreutzbender shared a code sample about using Dry::Monads with pattern matching in Rails:

πŸ’»Postmodern asked about subclassing the Symbol:

πŸ’» Ismael Celis shared a code sample about event sourcing:

οΈπŸ’» Ruby Cademy shared a code sample about using block_format from ActionMailer:

Source: @RubyCademy

πŸ’»οΈ Stephan shared a code sample showing how with_index take an argument:

πŸ’» Irina Nazarova shared a code sample about using OpenAI:

πŸ’» Ross Kaffenberger shared a code sample about organizing Tailwind classes:

Source: @rossta.net

πŸ’» Lucian Ghinda shared a code sample about changing a class method in Ruby on Rails without changing the original file:

πŸ’» Ismael Celis shared an SQL code sample about implementing a job queue:

πŸ’» Lucian Ghinda shared a code sample about using Data.define to return multiple values from a method:

πŸ“ Andrzej Krzywda shared a code sample about solving Advent of Code day 3 using parslet gem

πŸ’» Franck Delache shared a code sample about using to_enum to solve Advent of Code:

οΈπŸ’» Ruby On Rails shared that since Rails 7.1 you can use Rails.env.local? to check for development or test environments:

Source: @rails

οΈπŸ’» Ruby Cademy shared a code sample about using block_format to clean up poorly formatted text:

Source: @RubyCademy

οΈπŸ’» Prabin Poudel shared a tip about configuring hosts for working with Stripe in development:

Source: @coolprobn

οΈπŸ’» Josef Strzibny shared a code sample about loading only specific fixtures:

Source: @strzibnyj

πŸ“ Thinking about Code Design

πŸ“ Gregory Brown shared a thread about monkey patching:

οΈπŸ“ Nate Berkopec shared about RAM usage in Rails:

πŸ“ Stephen Margheim shared a thread about Rails improvements when using SQLite:

πŸ“ Konnor Rogers shared about migrations in Rails not being ordered by timestamp:

πŸ“ Nate Berkopec shared that Ruby 3.2+ will compile YJIT by default if you have rustc installed:

πŸ“ Jamie Birch shared a code sample about:

οΈπŸ“ Rob Zolkos shared about validations:

Source: @robzolkos

Source: @dhh

Source: @dhh

πŸ“ Janko MarohniΔ‡ shared about opening gem source code:

Source: @janko.io

πŸ“ JP Camara shared a thread about for vs each:

πŸ“ Brad Gessler shared a thread about packing a Ruby app into a self-contained binary:

οΈπŸ“ Lucian Ghinda shared a thread about doing test design for an open source piece of Rails code from Zammad:

οΈπŸ“ Nate Berkopec shared a simple trick to page-load performance:

πŸ“ Stanislav Katkov shared a thread (read it on the Threadreader app or Bluesky) about reading official documentation:

Source: @skatkov.com

οΈπŸ“ Gavin Morrice shared about object-oriented programming design concepts:

πŸ’‘Around code (news, findings, books, and more - all about Ruby)

Source: @rails

Source: @1Password

πŸ’‘ Chris Oliver shared the new Rails Getting Started guide (getting started preview and install ruby on rails preview)

Source: @excid3.com

Source: @rails

Source: @rails

❀️ Why Choose Ruby and Rails

❀️ Adrian Marin shared about Rails:

🧰 Gems, Libraries, Tools and Updates

πŸ†• New Gems and Repos

Source: @1101_debian

If you are interested in this you should also read this documentation from the repository: Minimalistic Ruby Compiler

 πŸ§° Updates

🧰 Rosa GutiΓ©rrez announced version 1.0 of Mission Control Jobs

Source: @avohq.io

🧰 Bozhidar Batsov announced an update about Rubocop v1.69.1

🧰 Nate Hopkins announced an update about LocalBus v.0.3.0

🧰James announced a new version for  mocha | RubyGems.org | your community gem host

🀝 ️Jason Swett shared about inheritance:

Source: @JasonSwett

🀝 Avdi Grimm shared about DRY:

Source: @avdi.codes

🀝 Stephen Margheim shared a thread about estimations:

🀝 Jason Swett shared about why choose to create an object:

Source: @JasonSwett

🀝 Chris Heilmann shared a tip about checking in JS if the user wants animations or not:

Source: @codepo8

More content: πŸ“š πŸ—ž 🎧 πŸŽ₯ ✍🏾

πŸ—ž Newsletters

πŸ—ž Ruby Weekly published a new article about Making Ruby faster with more Ruby and less C

πŸ—ž Hotwire Weekly published a new edition about Week 49 - Hotwire Essentials tutorial, Solid Cable in Production, and more!

πŸ—ž Ruby On Rails published a new edition about SQLite3 extensions loading and more

πŸ—ž Awesome Ruby Newsletter published a new article about πŸ’Ž Issue 446 - Speeding up Ruby by rewriting C in Ruby

🎧 Podcasts

🎧 Drew Bragg published a new episode of Code And The Coding Coders Who Code It about Episode 43 - Stan Lo 

🎧 Jason Swett published a new episode about 240 - JP Camara, Principal Software Engineer at Wealthbox

🎧 Wes Oudshoorn shared a podcast about Wes Oudshoorn - AppSignal's Stroopwafel Adventures πŸ‡³πŸ‡± Sprinkled with Community Love!

🎧 Thoughtbot published a new podcast about The Bike Shed: 449: Evergreen skills for new-ish developers

πŸ“½οΈ πŸŽ₯ Videos

πŸŽ₯ Yaroslav Shmarov published a new video about AVO Internal tool. Authentication, Invitations, Roles, | SupeRails

πŸŽ₯ Jared Norman shared their live streaming on Twitch solving Advent of code 

πŸŽ₯ ThΓ nh Đỗ published an YouTube series about Kamal Tutorial 

πŸŽ₯ Thoughtbot published a new video about Recorded training: Setting up a local LLM and replacing Open AI

πŸŽ₯ Dave Thomas published a series of videos solving Advent of Code with Ruby: 2024 Advent of Code, Day 1, 2024 Advent of Code, Day 2, 2024 Advent of Code, Day 3

✍🏾 Articles

What’s new πŸ†•

Ruby Central published an article about Ruby Central’s Infrastructure Improvements for RubyGems.org

Miles Woodroffe published an article about Solid Cable in Production with Kamal

Ross Kaffenberger published an article about Joy of Rails | What you need to know about SQLite

Alan Ridlehoover published an article about Hexagonal Architecture + Rails

Jeremy Kreutzbender published an article about Adding Google OAuth in Rails 8

Jared Norman published an article about Advent of Criminally Bad Ruby Code

Ender Ahmet Yurt published an article about Problems with If Clauses

Jochen Lillich published an article about A rocky but encouraging start with Rails credentials

Gregory Brown published an article about Archean : 0x03] Reification

Josef Strzibny published a new article about Test Driving Rails, 1st edition is released!

Ben Sheldon published an article about Including Rails View Helpers is a concern

Daniela Baron published an article about Fixing Gem Install Errors on M3 Mac with Ruby 2.7

Mintbit published a new article about Exploring Ruby's Programming Paradigms - Mintbit

Brad Gessler published a new article about Multi-Gem Monorepos: Versioning, Namespacing & Zeitwerk

Rails Designer published an article about Advanced Stimulus: Custom Action Options and about Why Disconnect in Stimulus Controllers

Jonathan Rochkind published an article about Accessing capybara-screenshot artifacts on Github CI

Dmitry Pogrebnoy published an article about Mastering Ruby Debugging: From puts to Professional Tools

Joey Wang published a new article about Crafting Elegant Ruby: Balancing Readability and Performance

Tonyyunker published a new article about Case Regex Matching with Capture Groups

How-TOs πŸ“

Avo published an article about How to add an RSS feed to a Rails app

Benjamin Curtis published an article about How to serve secure custom domains with Caddy

Scott Watermasysk published an article about Mise and Puma-Dev

William Kennedy published a new article about Up and Running with Hotwire Native iOS 4 - Custom iOS Keyboard

Maciej Litwiniuk published a new article about Nested forms with just Turbo Streams

Rachel Andrew published an article about  What do the State of CSS and HTML surveys tell us?

Reply

or to participate.