The Ruby and Rails community linklog
Made a library? Written a blog post? Found a useful tutorial? Share it with the Ruby community here or just enjoy what everyone else has found!
Submit a post
Post Preview
Note: Only the first pargraph is shown on the front page and overly long paragraphs may be broken up.
Join and share your code snips
CodeSnips is a new project running on the THH #tailwindcss / #htmx / #hyperscript frontend on top of the #rubyonrails. Check it out here: - join and share your code snips!
We upgraded our Open Source Job Board App (DollarJobs) from Rails v6.1 to v7.0.0
Upgrading Rails versions in any app require significant code refactoring and effort. Nonetheless, the effort put definitely takes your application towards much better security and maintenance. We upgraded our Open Source Job Board App (DollarJobs) from Rails v6.1 to v7.0.0 to incrementally upgrade it to Rails v8, soon. Read the process here - https://blog.railsforgedev.com/upgraded-our-open-source-job-board-app-dollarjobs-from-rails-version-61-to-700. Watch the Screencast here - https://www.youtube.com/watch?v=xthTdFdc_uk. View the Git Diff here - https://github.com/bestwebventures0/dollarjobs/compare/main…upgrade_to_rails_700. Fork the Repo here - https://github.com/bestwebventures0/dollarjobs/tree/upgrade_to_rails_700.
How to use Solid Queue for background jobs
In this video lesson, I show how to use Solid Queue with Active Job to send order confirmation emails in an ecommerce app. Solid Queue is the new default way of running background jobs in Rails 8 apps.
Applied Test Case Design: A Zammad Example
I wanted to show what does it mean to apply systematic test case design and used a piece of code from Zammad Rails open source app.
Multi-Gem Monorepos
Wrote to look at how I broke apart the Terminalwire gem into a client, server, and core gem. I explore the topics of versioning, name spacing, and how to use Zeitwerk to autoload the core and peripheral gems.
Fixing Gem Install Errors on M3 Mac with Ruby 2.7
Resolving some gem installation issues on modern Macs when setting up a legacy Rails project.
Overriding methods in Ruby on Rails - a no-code editing approach
Discover how to override a class or instance method without editing its source file in Ruby on Rails.
Speeding up Ruby by rewriting C... in Ruby
I dive deep into a recent programming benchmark from a Ruby perspective - and I dig into the how and why of different performance characteristics and how YJIT is applied to Ruby code, vm bytecode, and machine code. [more inside]
New updates to Everyday Rails Testing with RSpec
Hi Ruby friends, I’ve added a new chapter on request specs to Everyday Rails Testing with RSpec! Head to Leanpub to get your update now or purchase a copy of the book. Next up is a fresh take on system specs, now in progress. Thanks!
Implementing new EU invoice format (which is required for B2B from 2025)
From 2025, all B2B invoices within European Union must be machine readable by complying to a XML-spec (Factur-X).
In this post, I use secretariat Gem for generating + validating the XML and then use plain Ghostscript to put it together with the original invoice.pdf into a hybrid so-called ZUGFeRD file that complies with the spec but still displays as a normal PDF(/A3). [more inside]
What you need to know about SQLite
Lessons about what the SQLite database engine can and cannot do, how Ruby on Rails helps you work with SQLite, and why it may, or may not, be a good choice to back your Rails 8 app. [more inside]
Kamal Database Backups
In this episode, we look at some precautions we can take with our production environment and setup recurring backups for the database.
Mastering Concerns in Ruby on Rails
Deep dive into Concerns in Ruby on Rails, exploring its role in modular code, comparison with Mixins, security, testing, and its use in Rails 6 and 8. Read it here - Mastering Concerns in Ruby on Rails.
Ruby Triathlon 2025
With all the 2025 dates confirmed for the Ruby Conferences that were part of the Ruby Triathlon in 2023 and 2024, we’re happy to launch a website for the initiative! [more inside]
Rails is better low code than low code
Thoughts on Rails and low code platforms: Rails is better low code than low code [more inside]
Nobuild with Rails and Importmap
Learn how to use Importmap in Ruby on Rails to manage JavaScript dependencies without bundling. Covers web standards, Rails integration, how to use it with Engines, and suggested practices. [more inside]
The Ultimate Rails Version Migration Checklist for 2025
Ready to migrate your Rails application to version 8 in 2025? This detailed checklist covers everything. Read it here - The Ultimate Rails Version Migration Checklist for 2025.
Code Exercises & Slides for RubyConf 2024 Workshop: "How To Build Basic Desktop Appli
Code Exercises & Slides for RubyConf 2024 Workshop: “How To Build Basic Desktop Applications in Ruby”. Everyone can go through them at their own time.
Calculating the largest known prime in Ruby
My short journey trying out the new ability to calculate the largest known prime number in Ruby master, and what tweak was needed to have it finish calculating - preferably before the heat death of the universe. [more inside]
Server-sent Events and WebSockets in Rack for Ruby
In the final part of our three-part series, we’ll use server-sent events (SSEs) and WebSockets to establish a persistent connection in a Rack app:
A small pulsating animation
As a backend developer I get excited when I can do a small UI tweak like Adding a pulsating effect on a menu item and of course I then created a Phlex component for that menu item
Rails 8 Upgrade Guide 2025: Step-by-Step Instructions for a Smooth Transition
There must be 1000s of Ruby on Rails apps still running on version 5, 6, 6.1, 7, 7.1, etc. Upgrading your Rails 5 app to version 8 is a herculean task. My latest article on how to upgrade your non-8-version Ruby on Rails application to version 8 provides a detailed guide you can follow to make this process less herculean. Read it here - Rails 8 Upgrade Guide 2025: Step-by-Step Instructions for a Smooth Transition.
Using non-root users on Kamal servers
Here’s a short post on using non-root users to connect to servers managed by Kamal.
Server monitoring (CPU, memory, storage) with rails_performance gem
. With every new release getting closer to the NewRelic/Datadog free and self-hosted alternative :) Now you can monitor your server CPU load, memory, and storage with the latest gem release. [more inside]