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.
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.
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 [more inside]
🚀 Calling all Ruby developers and crypto builders!
Want to fetch real-time crypto prices, check wallet balances, or analyze blockchain transactions using Ruby? In my latest article, I explore how to interact with top crypto APIs like CoinGecko, Etherscan, and Blockchain using simple Ruby scripts. [more inside]
🔥 Recreating the Classic Snake Game in Ruby: A Nostalgic Coding Adventure 🐍🎮
Remember the good old days of Nokia phones and endless hours spent playing Snake? I recently took a trip down memory lane and recreated this timeless game using Ruby and the curses library—and I’m excited to share my journey with you! In this article, I break down how I built the game from scratch, covering everything from dynamic food placement and collision detection to wall wrapping and modular design. Whether you’re a seasoned developer or just starting out, this project is a fantastic way to sharpen your coding skills while having fun. [more inside]
Compile Ruby apps with Tebako
I wrote about my experience distributing Ruby apps to users that don’t have Ruby on their machines via Tebako at Overall, I’ve been really pleased! The biggest surprise is that my binaries weigh in at 15 MB (compare that to 450 MB for Heroku’s CLI). There are a few other things you’ll want to think about if you choose Tebako for your CI workflows and file paths that I go over. Hope this helps if you’re also crazy like me and think about distributing Ruby apps as installed software.
🚀 Leveling Up as a Ruby and Rails Developer: Tips + Code Examples 🚀
Are you looking to grow from a junior/mid-level Ruby or Rails developer into an expert or senior-level professional? I just published an article sharing actionable tips to help you level up—complete with practical code examples! 💻 [more inside]
Fixing Broken Action Text Images in Atom Feeds
For a while now we’ve seen that images in our Pika atom feeds were not displaying in some feed readers. In fact, they weren’t displaying in my own feed reader, which routes through Feedly. Here’s how we fixed it!
Overriding Permalink Generation in FriendlyId
When a customer wrote in with a request to modify the behavior of our permalinks, I wasn’t sure how easy it would be to override the default behavior. Turns out it wasn’t too bad!
🚀 Testing Ruby Code Like a Pro: The Power of RSpec Mocks & Doubles
Ever felt like testing in Ruby is a mix of art and chaos? 🎨🤯 I just published an article breaking down how to use RSpec mocks and test doubles to write cleaner, faster, and more reliable tests. [more inside]
Montreal.rb February 2025 Design Patterns in Ruby
Design Patterns provide reusable solutions to common problems in Software Design and Implementation. Learn how to apply all 23 Design Patterns by the Gang of Four in Ruby by watching the Montreal.rb Ruby Meetup February 2025 Talk “Design Patterns in Ruby”:
🚀 Unlock the Power of Ruby Metaprogramming!
Have you ever wondered how to add dynamic behavior to your Ruby classes effortlessly? Or how to enforce constraints and enhance functionality when including modules? In my latest article, I dive deep into the magic of Module#included, a powerful yet often underutilized feature in Ruby. Learn how this callback can: [more inside]
🚀 Streamline Your Ruby on Rails Workflow with Foreman! 🛠️
Managing multiple processes in your Rails app can feel like stepping into the ring with a heavyweight champ. 🥊 Luckily, the Foreman gem is here to help you knock out complexity and streamline your workflow! [more inside]
🚀 Zeitwerk: The Autoloader That Rails Deserves! 🚀
If you’ve ever battled uninitialized constants, struggled with legacy folder structures, or simply wondered how Zeitwerk actually works, this one’s for you. [more inside]
Montreal.rb January 2025 Talk "Responsibility Driven Design in Ruby"
Learn the basics of Object Oriented Design and how to do Object Oriented Programming the right way in Ruby by watching the Montreal.rb January 2025 talk “Responsibility Driven Design in Ruby”!
🔍 Unlocking Ruby's Object Capabilities 🚀
Ever wondered how to explore what an object can do in Ruby? From checking method availability to handling method_missing, mastering these techniques can make your code more dynamic, flexible, and maintainable! [more inside]
Made a fun little game
Remember those “Choose Your Own Adventure” books back in the day? Well, I made a proof of concept with Rails. You can choose some pre-determined options or customize your own adventure. Choose Your Own Path Article and Link to the App
🚀 Feature Flags in Ruby Made Easy with Flipper! 🎯
Are you looking for a way to roll out new features safely, run A/B tests, or enable instant rollbacks in your Ruby applications? The Flipper gem is a powerful tool that allows you to manage feature flags with flexibility and ease. [more inside]
Four choices for packaging Ruby binary distributions
I wrote as the first article in a series about how I used Tebako to package up the Terminalwire Client into a binary that could be installed on machines without Ruby. This part focuses on the research process, revisiting the classics like Traveling Ruby and ruby-packer to discover Tebako.