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.
đ Want to integrate AI into your Ruby or Ruby on Rails projects?
Check out my latest article, where I explore DeepSeekâs API with a practical Ruby example to generate AI-powered responses. Learn how to make API calls, fetch available models, and handle responses efficiently. [more inside]
Better Know A Ruby Thing: Method Lookup
Been sitting on this for way too long, but hereâs a follow up blog post about method lookup in Ruby and how that interacts with singleton classes: [more inside]
Speed up RSpec tests: understand lifecycle and execution
One of RSpecâs strengths is the legibility of its behavior-based DSL. But the proliferation of small example blocks introduces a performance overhead. Why? Because of RSpec lifecycle! Letâs see how we can make your RSpec tests run faster!
New Ruby on Rails gem for building Intranets
AgileRails is a Ruby on Rails gem for agile programming of Intranet or business applications. You can view introduction videos here: https://www.youtube.com/playlist?list=PLM66pztpUC0DVAqZvIAqH3Khb_RzJdD3W Demo web site here: https://agile-rails.com Source code here: https://github.com/agile-rails
The pragmatic approach to testing Rails applications
Whatâs the right amount of testing? I am putting my take into words and what it means for my Rails template.
Small and Little Things Matter in Programming! đ
In software development, even the simplest tasks can reveal profound lessons. I recently tackled an interesting Ruby problem: cleaning an array by removing substrings found in other elements. While it sounds straightforward, the solution taught me the power of leveraging Rubyâs enumerable methods like reject and any?. In my latest article, I dive into this challenge, share an elegant solution, and explore why focusing on these âsmall and little thingsâ can make a big difference in our code. Check it out and let me know your thoughts! [more inside]
đ Microservices: Unlocking Agility and Scalability
Microservices have revolutionized how we build software, offering unmatched flexibility, scalability, and resilience. By enabling small, autonomous teams to work independently, microservices empower organizations to innovate faster, adopt new technologies, and scale effortlessly to meet growing demands. [more inside]
Ruby Mixins vs Rails Concerns
It is amazing how cryptic, difficult to reason about, and expensive to maintain Ruby codebases become when they include countless âconcernsâ without honoring the Ruby naming convention for mixins as representing âtraitsâ⊠https://andymaleh.blogspot.com/2025/03/ruby-mixins-vs-rails-concerns.html
đ Effortlessly Store Your Ruby-Generated Files on Google Drive! đ
Have you ever struggled with Google Drive API integration in Ruby? I recently tackled this challenge and hit some roadblocksâOAuth headaches, gem conflicts, and those frustrating âAPI not enabledâ errors. đ After some debugging (and a few cups of coffee â), I found a smooth and enjoyable workflow to automate file storage on Google Drive. Now, creating spreadsheets and managing files is a breeze! [more inside]
Lanet: A lightweight tool for networking
Lanet provides a simple yet powerful API for LAN device discovery, secure messaging, and real-time network monitoring. Features include encrypted communications, network scanning, targeted and broadcast messaging, and host pinging capabilities. [more inside]
Kreds â the Missing Shorthand for Rails Credentials Access
Managing Rails credentials can sometimes lead to hard-to-debug issues when keys are mistyped or values are unexpectedly blank. Kreds is a small gem that provides a shorthand for fetching credentials, raising clear errors for missing keys or empty values. More details here: https://github.com/enjaku4/kreds
đ Reviving a Ruby Project: Cleaning Up Git Branches for Stability
Have you ever worked on a project with messy branches, poor test coverage, and constant deployment issues? Recently, I tackled a Ruby project that needed serious Git cleanup. Spaghetti branches were causing confusion, and deploys were risky. [more inside]
Pick the wrong tool for the job
Just published https://terminalwire.com/articles/wrong-tool about how I âchose the wrong tool for the jobâ by choosing Ruby & Tebako to build a command-line app that users install on their Linux and macOS workstation. Hoping it inspires others to try something that they think is a horrible idea in hopes that they discover new and crazy ideas that actually work.
Ractor - getting started
Learning notes for Ruby Ractors - describe how to create actors, pass the messages between them, types of communication & actorsâs lifecycle: Ractor - getting started
Rails 8 assets: Break down of how Propshaft and importmap-rails work together
I wanted to customize Rails 8 default asset setup and I couldnât find documentation or articles explaining clearly how Propshaft and importmap-rails interact so I ended up writing it: Rails 8 assets: Break down of how Propshaft and importmap-rails work together
đ Mastering Iterators in Ruby: Unlock the Power of External and Internal Iteration
As developers, we work with collections every dayâarrays, databases, filesâyou name it. But how often do we stop to think about the best way to traverse them? Iterators are the unsung heroes of clean, efficient code, and understanding their nuances can take your Ruby programming to the next level. [more inside]
Migrating From Rails Secrets to Credentials
What I learned about Rails secrets and credentials while upgrading from Rails 7.0 to 7.1 https://danielabaron.me/blog/migrating-from-rails-secrets-to-credentials/
OmniAI 2.0: An LLM Library for Anthropic, DeepSeek, Google, Mistral and OpenAI
Iâm excited to share the release of OmniAI 2.0. OmniAI now offers a unified API for processing tool-call requests while streaming, standardizes the response API between streaming and regular requests, and fully includes a dedicate DeepSeek client. For more info about the release see: [more inside]
Conditional Queue
In this episode we look at processing background jobs in a way that can conditionally send the work to be processed to different queues. This can be very powerful in situations where you need to process the job in different ways or send requests to different APIs. https://www.driftingruby.com/episodes/conditional-queue
Gitingest: Code -> LLM prompt
Iâm thrilled to share my latest creation with you: gitingest, a Ruby gem Iâve built to make your Git experience smarter and smoother. You can find it on GitHub at https://github.com/davidesantangelo/gitingest [more inside]