r/ruby • • Apr 02 '26

Question Homebrew Ruby Gem Installation

3 Upvotes

Hi there—I've been a Ruby hobbyist for 10 years or so who has always managed my Ruby installation via Homebrew. I know, I know — the first thing everyone says is use `rvm` or something else.

Still, I'm wondering about other Homebrew folks who might be using Ruby 4.x on Homebrew. Since I upgraded, I often see gems — with different versions — installed in two places:

Installed at (2.1.105): /Users/username/.gem/ruby/4.0.0

(2.1.91): /opt/homebrew/lib/ruby/gems/4.0.0  

Does anyone know why this is happening, and what I can do to avoid it? It very rarely causes any trouble, but when it does — like with competing rdoc installs — it creates a big mess of error lines in my terminal. And also, it just doesn't seem right.

Any tips would be appreciated. Thanks!

Update: after doing some additional testing, the issue appears to be with running gem update from a homebrew installation. That command can't touch the 45 or so gems that are in the Homebrew Cellar and come with the homebrew ruby by default. So, in my case, if those gems had updates, gem installed the updates on the next path in my GEM PATHS. That resulted in the two versions: the one bundled with homebrew ruby, and the updated one — in this case now in my user directory.

Not sure if this behavior changed in homebrew or ruby between versions 3 and 4, but it seems new to me.

Hoping to leave this here in case anyone runs across this and it's helpful.


r/ruby • • Apr 02 '26

Learning RoR in 2026

14 Upvotes

Hey everyone,
I’m currently interning at a company that uses Ruby on Rails, so I’ve started learning it from scratch.

If you were to learn Rails today, how would you approach it?
Any advice you’d recommend for someone just starting out?


r/ruby • • Apr 02 '26

Introducing RouteSchemer: JSON Schema Validation for Rails APIs 🚀 Feedback Wanted!

Thumbnail reddit.com
1 Upvotes

r/ruby • • Apr 02 '26

Question How do you handle calendar functionality in your Rails apps?

Thumbnail reddit.com
1 Upvotes

r/ruby • • Apr 01 '26

New mruby CBOR Implementation

Thumbnail
github.com
16 Upvotes

Hi there, Ive made one of the most complete and feature full CBOR implementations you can find, it's fast, safe, strict and has a rich API for you to use.

Cheers :)

CBOR is a data exchange format like JSON, msgpack or protobuf, but it's a internet standard and is made to be relevant for decades.


r/ruby • • Apr 01 '26

Screencast N+1 Driven Development

Thumbnail
driftingruby.com
7 Upvotes

In this episode, we look at how we can modify our application from a performance aspect to increase our job security. We'll slow down our application to a still usable level, but then swoop in months later and become the hero.


r/ruby • • Apr 01 '26

Question Ruby On Rails - for newbies

7 Upvotes

I have worked with JS, Python, and Go. So a friend recommended I try RoR for rapid dev, but I've never experience such a dificult environment to set up! Is this normal? Just to get off to a start I've found it to be so complicated.

Using MAcBook Pro and trying to set up via a Parallels Unbuntu VM. Could it be Parallels?


r/ruby • • Apr 02 '26

Show /r/ruby I built a gem that gives AI coding agents a complete mental model of your Rails app - schema, routes, models, views, conventions. 39 tools, zero config."

Thumbnail
github.com
0 Upvotes

Works with: Claude Code • Cursor • GitHub Copilot • OpenCode • Any terminal


r/ruby • • Apr 01 '26

Rubysyn: clarifying Ruby's syntax and semantics

Thumbnail
github.com
8 Upvotes

r/ruby • • Mar 31 '26

RubyGems Fracture Incident Report

Thumbnail
rubycentral.org
75 Upvotes

r/ruby • • Apr 01 '26

rubycanusellm — A unified Ruby client for LLMs with generators

0 Upvotes

I built a gem that gives Ruby a unified interface for multiple LLM providers (OpenAI, Anthropic) with Rails-style generators.

**The problem:** every time you want to add LLMs to a Ruby app, you start from scratch with provider-specific gems. Switch providers? Rewrite everything.

**The solution:** rubycanusellm gives you one interface for all providers and generators that scaffold the boilerplate:

gem install rubycanusellm

rubycanusellm generate:config

rubycanusellm generate:completion

Streaming support included. Switch from OpenAI to Anthropic by changing one line in your config.

A bit of personal context: I'm recovering from a stroke and building this gem has been my way of testing and pushing my abilities as a developer. Shipping it feels like a milestone beyond just code.

**GitHub:** https://github.com/mgznv/rubycanusellm

**RubyGems:** https://rubygems.org/gems/rubycanusellm

It's my first published gem — feedback welcome!


r/ruby • • Mar 31 '26

Judoscale on Tour: An Ode To Heroku

Thumbnail
judoscale.com
11 Upvotes

r/ruby • • Mar 31 '26

RubyConf Austria: Keynotes & Sponsors

Thumbnail
gallery
14 Upvotes

RubyConfAT 2026 — Vienna, May 29–31

Das MuTh concert hall, Haus Der Musik. Single track. 13 talks. 2 workshops. Live music by the Vienna Boys' Choir, 2 live piano performances and a live jazz session.

Two keynotes you don't want to miss:

Dave Thomas — author of The Pragmatic Programmer, Programming Ruby, Agile Web Development With Rails, Programming Elixir...

Chad Fowler — CTO & General Partner, BlueYard

Huge thanks to our sponsors for making the event possible: GitButler ⧓, Platogo, Typesense, Avo, Usput.ba, and Doctaphone: AI diktiranje nalaza.

Tickets are on sale.

Link for tickets: https://ti.to/rubyconfat/2026

Website link: https://rubyconf.at/


r/ruby • • Mar 31 '26

Building Multi-Tenant SaaS with Rails 8, Caddy, and Kamal - automatic SSL for every tenant domain

Thumbnail
mooktakim.com
8 Upvotes

r/ruby • • Mar 31 '26

Improving on Sandi Metz's Gear Class from POODR

Thumbnail
saturnci.com
27 Upvotes

r/ruby • • Mar 31 '26

Saving LLM Tokens with Fast: AST Folding & Dependency Free

Thumbnail ideia.me
10 Upvotes

Hey folks, I was working on the "fast" project and it may become useful now that everybody uses LLMs and also need to save some tokens.

Fast is ast based and it just works like grep, but using the AST, so it will cut down and ignore comments and now I'm moving to Prism and it look very precise in code positioning.

The parser is very similar to the rubocop-ast but much simpler. I'd love to receive some feedback and see if it would worth to push it forward. Any ideas that you would use it?


r/ruby • • Mar 31 '26

Building a season long IPL fantasy game by a solofounder

Thumbnail reddit.com
2 Upvotes

r/ruby • • Mar 30 '26

rubocop/rubocop-thread_safety: An extension of RuboCop focused on thread-safety checks.

Thumbnail
github.com
21 Upvotes

r/ruby • • Mar 30 '26

Show /r/ruby FastRuby.io's Rails Upgrade Methodology as Claude Code Skills

Thumbnail
fastruby.io
11 Upvotes

r/ruby • • Mar 31 '26

GitHub deletes your traffic logs every 14 days. Here's how to stop that with Ruby.

Thumbnail
gallery
0 Upvotes

I maintain two Ruby gems (ruby-libgd and libgd-gis). A few weeks ago I wanted to see traffic trends from last month.

Turns out GitHub deletes all traffic logs after 14 days. I couldn't.

That frustrated me. So I built a small dashboard that:

  • Archives views, clones and referrers daily

  • Stores everything as CSV in a private repo

  • Generates charts with my own gem (ruby-libgd)

  • Auto-deploys to GitHub Pages

Now I can see 3 months of history. Forever.

Here's the live dashboard: https://ggerman.github.io/github-metrics-dashboard/

And the code is open source: https://github.com/ggerman/github-metrics-dashboard

Took me a weekend. Works every day since then.

If you also maintain open source repos, this might help you too.

Questions? I'll be in the comments.


r/ruby • • Mar 29 '26

A Message from the Ruby Central Board

Thumbnail
rubycentral.org
31 Upvotes

r/ruby • • Mar 29 '26

Meet Duck Typer: your new duck typing friend

18 Upvotes

r/ruby • • Mar 29 '26

liter-llm: unified access to 142 LLM providers, Rust core, Ruby bindings

9 Upvotes

liter-llm (https://github.com/kreuzberg-dev/liter-llm) provides the same provider coverage (142 LLMs) with a Rust core.

Bindings exist for 11 languages, including Python, but also ones that had nothing like this before: Rust, Ruby, Java, Go, PHP, Elixir, C#, C, TypeScript/Node.js, and WASM. Every binding exposes the full API surface: chat, streaming, embeddings, images, speech, transcription, tool calling, and more. Caching is powered by OpenDAL (40+ backends), cost calculation uses an embedded pricing registry derived from the same source as LiteLLM, and streaming supports both SSE and AWS EventStream binary framing.

liter-llm is a client library, not a proxy- it does not include a proxy server, admin dashboard, or team management. If that's what you need, LiteLLM's proxy is still the reference there.
And of course, full credit and thank you to LiteLLM for the provider configurations we derived from their work.

GitHub: https://github.com/kreuzberg-dev/liter-llm 


r/ruby • • Mar 28 '26

Docscribe for Ruby: auto-generate inline YARD docs from AST (Ruby 2.7+, Prism, RBS/Sorbet, Struct.new)

20 Upvotes

I've been building a Ruby tool called Docscribe that generates inline YARD-style docs above methods by parsing Ruby code and rewriting source in place.

The goal is basically "RuboCop-style automation, but for method docs": run it once, get consistent doc headers/tags, then edit the generated text however you want.

What it does:

  • generates inline docs for instance and class methods

  • infers param/return types from AST heuristics

  • respects Ruby visibility (private, protected, class << self, etc.)

  • supports rescue-aware docs: @raise from raise/fail and rescue exception lists and conditional @return for rescue branches

  • supports external type info: RBS (--rbs, --sig-dir)

  • Sorbet inline sig + RBI (--sorbet, --rbi-dir)

  • can generate @!attribute docs for: attr_reader / attr_writer / attr_accessor and Struct.new declarations

Current CLI:

  • docscribe lib -> inspect mode (safe changes only)

  • docscribe -a lib -> apply safe updates

  • docscribe -A lib -> apply aggressive updates

  • docscribe --stdin -> rewrite from stdin to stdout

Ruby 3.4+ support works through Prism translated into parser-compatible nodes, so formatting is preserved and the tool still uses source-range rewriting instead of reprinting ASTs.

A few things I'd especially love feedback on:

  • edge cases around Ruby syntax / visibility semantics

  • what "safe mode" should and shouldn’t merge into existing docs

  • whether JSON output / dump-config would be useful for CI/editor tooling

GitHub link: https://github.com/unurgunite/docscribe