- Short Ruby Newsletter
- Posts
- Short Ruby News - Edition #87
Short Ruby News - Edition #87
The one with a lot of solutions and ideas for Turbo and Hotwire.
You can jump directly to a section:
π All about Code and Ruby: π» Code, πCode Design,π‘Around, β€οΈ Why Choose Ruby
π§° Gems, Libraries, and Updates: π New, π§° Updates and π Keep an eye on
π€ Related (but not Ruby-specific)
More content: π π π§ π₯ βπΎ (articles, podcasts, videos, newsletters)
[Promo β¬] RailsConf
RailsConf 2024 is the world's longest-running gathering of Rails developers, brought together to further discussion and learning about building, managing, and testing Rails apps. This yearβs line up of speakers have been selected to give attendees real-life, practical, insights into building and running Rails apps and teams.Donβt miss this chance to learn, network, and explore Detroit with us this year! Enjoy iconic museums and street art, a rich food and music scene, and socializing with fellow Rails developers in the one and only Motor City.
π Events
π Xavier Noria shared they will be at HackDay at RailsConf:
π Ruby Kaigi announced the addition of more social Events to the list.
π Ruby On Rails invited us to Subcribe to Rails Foundation Events
π Landon Gray invited Ruby Meetup or Local Ruby Conference to a conversation about how Ruby Central can help:
π All about Code and Ruby
πJean Boussier shared that Shopify is running their monolith on Ruby 3.4-dev in production:
He also added:
π David Heinemeier Hansson shared about the future of Rails:
π Stephen Margheim shared about SQLite:
David Heinemeier Hansson added:
And a bit more about other tools used at Basecamp:
π» Code Samples
π Greg Molnar shared about transaction callbacks in Active Record:
π Ruby Cademy shared about using - modifier to remove leading whitespaces:
π Joel Drapper shared a code sample showing how to implement a badge with Phlex:
Here are alternative implementations of the same badge with Rails helpers:
π Matt Swanson shared Turbo streams tips and tricks:
π Colleen Schnettler shared about broadcasting turbo stream and removing a SVG when the next broadcast starts:
πNithin Bekal shared on how to avoid interpolation in Ruby from Ruby Heredocs | Alchemists
π Nick Schwaderer shared on writing an external link within turbo_frame_tag
π Ruby Cademy shared about enum validation introduced in Rails 7.1
π Mika Henriksson shared about comparison validations in models
π Ruby On Rails shared on how to specify a parent class for the job using --parent option of job generator
π Ruby Cademy shared about dependent:destroy_async option to delete the associated collection in a background job
π Greg Molnar shared about Rails 8 built-in rate limiter:
He later shared a PR about Refactor `ActionController::RateLimiting` to use `AS::Cache` by casperisfine Β· Pull Request #50781 Β· rails/rails
π Mika Henriksson shared a code sample showing a way to parse Date:
π Matt Swanson asked about using metaprogramming instead of a case statement for a code sample:
Here are some replies:
π Josef Strzibny shared about adding a service in Docker compose to access the main Rails app:
π Colleen Schnettler shared 3 options for implementing a turbo pattern to update other elements from the page:
Here are some replies:
π Jack Culpan shared a code sample to connect to Cloudflare workers:
π Justin Searls shared a gist about recursive validation: Is this overkill? Is there some other nice way to do this?
π Marc KΓΆhlbrugge shared a code sample about importing production DB to localhost:
π Thinking about Code Design
π Nate Berkopec shared their workflow for micro-optimizing by using rubyatscale/singed: Get a flamegraph anywhere in your code base
π Joel Drapper shared about building views in Ruby instead of HTML:
Here are some replies:
π Joel Drapper shared about how to familiarize with a new Rails codebase:
π Mohit Sindhwani shared about running logs along with ORM:
π Greg Molnar shared an advice about having a strong password:
π Kevin Newton shared about using Prism to parse Ruby code:
π Michael Chaney shared about straightforward code:
π Mika Henriksson shared about service objects:
Here are some replies:
π Dave Thomas shared about Rails using encrypted credentials:
π Mika Henriksson shared about turbo frames and tab-like form flows:
π Joel Drapper shared a benchmark about view layer in Ruby:
π Jesse Van Der Pluijm shared about creating a gem and asked about how to load dependencies:
Here is a reply from Xavier Noria:
and here is a reply from Samuel Williams
π Jason Swett shared about Rails conventions:
π‘ Around code (news, findings, books and more - all about Ruby)
π Jose Farias shared about his method to look at fields in an ActiveRecord
Joel Moss shared VSCode extensions that could be used to achieve the same:
π Justin Collins shared on security vulnerabilities in ruby on rails:
π Ted Nyman shared about Github infrastructure:
β€οΈ Why Choose Ruby
β€οΈ Nate Hopkins shared about Ruby being used in AI:
β€οΈ Mehdi Farsi shared about Rails helps with shipping fast:
β€οΈ Andrew Hodson shared about Rails 8 security:
β€οΈ Ama Ni shared about Rails having so many sensible features:
π§° Gems, Libraries, Tools and Updates
π New Gems and Repos
π Harry Lascelles announced a new gem called dememoize - A rubygem to remove memoized values (instance variables) for easier testing
π BenjamΓn Silva H. announced the release of a new gem sidekiq_job_controller.
π Dr Nic Williams announced a new gem groq-ruby: Groq Cloud runs LLM models fast and cheap. This is a convenience client library for Ruby.
π Lloyd Watkin published a new gem called janus-ar - A read/write ActiveRecord database adapter
π§° Updates
π§° Joel Drapper announced an update for Phlex about fixing Cross-site Scripting (XSS) possible due to improper sanitisation of `href` attributes on `<a>` tags
π§° Avo announced a new version (3.6) of Avo. Watch the release video.
π§° Stephen Margheim announced a new version of Update to Litestream gem | Fractaled Mind
π§° Bozhidar Batsov announced a new version Release of RuboCop 1.63.2 Β·
π§° Mari Imaizumi announced a new version of Release v0.5.2 Β· ruby/reline
π§° Mike Dalessio announced a new version Release 2.0.0 sparklemotion/sqlite3-ruby
π Keep an eye on
π You can check the subjects that will be discussed at Ruby DevMeeting at RubyKaigi 2024
π Jean Boussier proposed a new feature to Ruby about Emit a performance warning when specially optimized core methods are redefined
This was accepted by Yukihiro Matsumoto.
π€ Related (but not Ruby-specific)
π€ Irina Nazarova shared about open source:
π€ David Heinemeier Hansson shared about choosing Ruby:
π€ Stefan Judis published a new edition about ordered list start property:
π€ Ben Orenstein shared about pairing:
π€ Joost De Valk shared about popup modals:
π€ Pascal LalibertΓ© shared
π€ Jason Swett shared
π€ Amree Zaid shared about sorting on Redis:
More content: π π π§ π₯ βπΎ
π Newsletters
π Vipul A M published a new edition about ActiveRecord::Base#pluck accepts hash values, devcontainers improvements and more!
π Ruby Weekly published a new edition about Making SQLite faster in Rails apps
π Ruby LibHunt published a new edition about Awesome Ruby Newsletter - Issue 413, Apr 18, 2024
π Hotwire Weekly published a new edition about Week 16 - Turbo Overview Guide, Turbo Native pull-to-refresh, and more!
π Ruby Central published a new edition about April 2024 Newsletter
π Sajjad Umar published a new edition about Ruby on Rails - April 2024
π§ Podcasts
π§ Code And The Coding Coders Who Code It published a new podcast Episode 34 with Ufuk Kayserilioglu
π§ Indie Rails published a new podcast about IndieRails | Ben Wood & Nate Vick - Adapt and Evolve: Navigating Entrepreneurial Transitions
π§ Ruby For All published a new podcast about RailsConf 2024 Countdown β Behind the Scenes with Kevin Murphy | Episode 66
π§ Ruby Rogues published a new podcast about Adrian Marin - Avo - Rails content management system
π½οΈ π₯ Videos
Screencasts
π₯Yaroslav Shmarov published a new video SupeRails #165 Manage active sessions. Security feature on enhancing security of your application.
π₯ Dev Tester published a new video on Automating Rubocop Into Your Rails Development Workflow
π₯ GoRails published a new video on One Time Payments With Pay And Stripe (Example)
π₯ The Bike Shed released a new episode The Bike Shed: 423: Cognitive Strategies for Coders
π₯ Aaron Patterson published a new video about Pairin' with Aaron: Hacking on YJIT
π₯ Cezar Halmagean published a new video about Building a Property Management System (live stream)
π₯ Dean De Hart published a new video about Realtime Docker API Gem with Xterm Logs for Rails
π₯ Drifting Ruby published a new video about Episode 453 - Exporting ICS Files | Drifting Ruby
π₯ Jason Swett published a new video about The Docker Registry Cache Finally Works! - Live Coding on SaturnCI
βπΎ Articles
Whatβs new π
Obie Fernandez published a new article about The Future of Ruby and Rails in the Age of AI β βThe good news I want to share is: not only will Ruby and Rails survive this AI revolution, Rubyists will pioneer the most revolutionary application development approaches of the coming eraβ
Vitalii Elenhaupt published an article about Avo custom fields
Stephen Margheim published an article about SQLite on Rails: The how and why of optimal performance and about Update to Litestream gem
Kevin Newton published a new article about Prism in 2024
Remi Mercier published an article about Delegated types in Rails. βDelegated types in Rails are a modelization pattern introduced to handle situations where a single model class needs to represent multiple distinct types of objects with their own attributes and behaviorsβ
Annastacia Kioko published an article about Integrating Africaβs Talking (SMS) in your Rails Application.
Matheus Richard published an article about Faster Tests With Capybara and Request Specs. βSystem specs are cool, but can be slow and flaky. Request specs can be good enough if you add the right seasoning to them.β
Greg Molnar published an article about Active Record transaction callbacks.
Brooke Kuhlmann published a new article about Ruby Heredocs.
Andrew Atkinson published a new article on Use Cases for Merging and Splitting Partitions With Minimal Locking in PostgreSQL 17
Andrei Maxim published a new article on Instance Variable Access in Ruby
Greg Molnar published a new article The tale of an XSS in Phlex
Kingsley Chijioke published an article on Handling Exceptions in Grape for Ruby βGrape is a popular Ruby framework for building RESTful APIsβ
Noel Rappin published a new article about Conway's Law
Sally Hall published an article about Enum validations and database constraints in Rails 7.1
How-TOs π
Kevin Murphy published a new article about Making a (Sidekiq) Batch Recipe
Justin Searls published an article on how to Fix your Rails Fixtures with this one neat trick
RailsDesigner published an article about ViewComponent over Turbo Stream Broadcasts
Mohit Sindhwani published an article about JRuby 9.4 on Windows: Day 0 - install and Hello World
Tim Riley published an answer about how to Programistically choose a layout for Hanami::View
Elvinas Predkelis published an article about Ruby on Rails: Native route constraint for authentication
Andres Chacon published an article about (translated with Google Translate) authenticate_by: Prevenir la enumeraciΓ³n de usuarios basada en tiempos de respuestas (original in ES authenticate_by: Prevenir la enumeraciΓ³n de usuarios basada en tiempos de respuestas)
Olly Headey published a new article about Rails, Assets, ActiveStorage and a Cloudfront CDN
Yaroslav Shmarov published a new article about Manage active sessions in Rails 2024
Vincent Ritter published a new article about Sanitising content before render
Dom Christie published an article about Turbo Refreshes, Frames, and Streams
Mohit Sindhwani published an article about Fix: Rails main Rubocop Error on Windows
Povilas JurΔys published an article about FactoryBot: the secret weapon called @overrides
Toby Osbourn published an article about Forcing a Rails database column to be not null
Deep Dives π
Akshay Khot published an article about From a Lorry Driver to Ruby on Rails Developer at 38
Reply