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.
What's new in Ruby 3.4
According to Ruby tradition, the core team will release Ruby 3.4 on December 25—but the preview has been out since May! Here’s what’s new.
How to use Capybara with Selenium for Rails system tests
In this video lesson, I show how to add Rails system tests for a shopping cart feature in a marketplace app using the Capybara gem. System tests are great for simulating testing end-to-end functionality in the browser.
Discover why Rails 8.0 removed Rails::ConsoleMethods
With the Rails 8.0 release, the framework made a significant change that will impact how developers customize their Rails console experience: the removal of Rails::ConsoleMethods. For years, Rails::ConsoleMethods has provided developers with a mechanism to extend the Rails console’s functionality by adding custom methods and utilities. However, this approach has become increasingly problematic, leading the Rails core team to make the strategic decision to deprecate and ultimately remove this extension point. Read the complete article here - .
Transition from encrypted secrets to Rails 8.0's powerful credentials system
The removal of config.read_encrypted_secrets in Rails 8.0 marks a significant shift in how applications handle sensitive configuration data. This change reflects the framework’s commitment to more robust, streamlined secret management and pushes developers towards a more secure and standardized approach to handling credentials. Discover how to seamlessly transition from encrypted secrets to Rails 8.0’s powerful credentials system. Read the complete article here - .
Optimizing Database Performance in Ruby on Rails 8
Learn how to optimize database performance in Ruby on Rails 8 with advanced techniques like query optimization, caching strategies, and efficient schema design. Enhance your app’s scalability and speed with Rails’ latest features and best practices. Read the blog post here - Optimizing Database Performance in Ruby on Rails 8: Modern Techniques & Best Practices.
Agent99 Framework
Announcing a new Ruby gem, agent99, as a reference implementation of the Agent99 Framework whose goal is to enable all software agents regardless of their language of implementation to work together, cooperating to accomplish the goals of the large application system.
What's new in Rails 8
The latest release of Rails includes a ton of new options and defaults that making shipping applications without a PaaS even easier. We just published an article about what’s new in Rails 8.
How to setup monthly subscriptions in Rails with Stripe
I published a video tutorial showing how to add monthly subscription (SaaS) payments to a Rails marketplace app with Stripe.
We upgraded our Open Source Job Board App (DollarJobs) from Rails v6.1 to v8.0
https://github.com/bestwebventures0/dollarjobs/compare/main…upgrade_to_rails_8. We use Ruby 3.3.6, Rails 8.0.0.1, Webpacker 5, Sprockets 4, SQLite 2, Jquery, etc. Use Dollarjobs to build your own job board for FREE. The only missing part is Deployment using Kamal. If someone is willing to contribute, please get in touch with me.
How to use remote build server in Kamal?
I wrote a new post on how to use remote build server in Kamal.
Ruby Version Manager 4 Windows v1.0.0 released
The final version 1.0.0 of the Ruby Version Manager for Windows (rvm-windows) has been released. It is inspired by the rvm.io project for Unix systems and provides a similar user experience for Windows users by providing a compatible command line interface. The Ruby Version Manager for Windows is a command line tool that allows you to easily install, manage, and work with multiple Ruby environments from interpreters to sets of gems. It even works with the classic Windows command line aside from Powershell and is based on the x64 binaries provided by the RubyInstaller project. Its goal is not to 100% reimplement all features of rvm.io, but the most important and common ones by preserving most of the same command line interface. Some special Windows related stuff is added as well. More information can be found on the rvm-windows Github repository.
async_magic gem
gem that lets you execute code in the background without sidekiq, or active job. [more inside]
The DCR Kids Programming Language Supports Live GUI Updates
One of the requests I received at RubyConf 2024 for Glimmer DSL for LibUI (and other Glimmer desktop gems) is providing an editor that can update the GUI live as the programmer types code into it. I have built something like that before for a programming language for kids called DCR actually:
How does Kamal deploy to multiple hosts?
Learn about Kamal multiple-server deployment in this short post.
State of Hanami, December 2024
Everything we did this year, and what we’re looking forward to in the next. A new kind of update!
How to Use the Ruby Map Method With Examples
How to Use the Ruby Map Method With Examples
Montreal.rb Hack Night Solutions for Hunt The Wampus
In November and December of 2024, Montreal.rb hosted 2 Ruby Hack Night meetups about building the historic computer game, Hunt The Wampus, which was a text-based adventure game developed by Gregory Yob in 1973. Solutions have been released, which include the Ruby code for the Model layer, a desktop GUI View layer, and a Rails Web Frontend View layer:
Secure custom domains with Caddy
If you want to host custom domains for customers in your SaaS, you’ll need to handle both DNS and SSL. Fortunately, Caddy can help with both. Read this article to learn how.
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.