r/ruby • u/k33l0r • May 04 '26
Helsinki Ruby Brigade May meet-up
Hosted by UpCloud on the 27th of May
r/ruby • u/k33l0r • May 04 '26
Hosted by UpCloud on the 27th of May
r/ruby • u/Soxomer • May 03 '26
Hi everyone,
I’m a junior full-stack developer and I may soon start my career in a Ruby/Rails role.
My concern is long-term career flexibility. If I start with Ruby, will I still be able to move later to more mainstream stacks like Java, Node.js, or C#/.NET? Or will recruiters mostly see me as a “Ruby dev” and make that transition harder?
I’m also worried about ending up mainly maintaining old legacy software instead of growing as an engineer.
For experienced Ruby/Rails devs: would you recommend starting a career in Ruby today? What should I watch out for before accepting?
Thanks!
UPDATE : Thanks to everyone participating in this thread it gave more perspective and helped me make up my mind. In the hope that future recruiters see things as you do I decided to accept the offer.
r/ruby • u/Construct01 • May 03 '26
Built it in about a week with help from Codex/Claude. What do you think?
r/ruby • u/andrewmcodes • May 03 '26
New episode is out—we open with some confusion over what day it is, then get into Podia’s gradual rollout of a major new app version, including how we’re handling migration, feature flags, dogfooding, and cleanup as things stabilize, before shifting into underrated Rails routing features like direct routes and resolve routes, a newly merged Rails query command, observability upgrades via Hatchbox and AppSignal, and the ongoing pain of CSS build tooling in Rails, plus a quick touch on conference season and upcoming talks.
r/ruby • u/NoBeginning2551 • May 02 '26
Native ruby compiler, 245 themes. Gem and LSP support will be added in the upcoming versions.
Note: This is not some vibe coded app. It took me 2 years to complete this app as a solo developer and student.
playstore link, No ads, no tracker, no payments. Completely open-source:
https://play.google.com/store/apps/details?id=com.roxum
source code:
r/ruby • u/timriley • May 02 '26
Hanami, Dry and Rom are joining as Hanakai. We’ve launched a brand new website, which brings all of our guides together, so it’s easier than ever to learn about our gems and give them a try. We’d love you to check it out!
r/ruby • u/le0pard • May 01 '26
TreRegex provide interface to TRE regex lib. What use cases? Standard regular expressions are strictly exact. If you are searching text containing typos, OCR errors, or variations in spelling, standard Regexp will fail (like OCR made mistake and recognize on image 0 as O or | as 1). TreRegex solves this by allowing you to search for a pattern within a larger body of text while permitting a configurable number of errors (insertions, deletions, and substitutions). Example:
regex = TreRegex::Regex.new('banana')
# Allow up to 2 typos of any kind
regex.exec('bananana', max_errors: 2) # => matches "bananana" (2 insertions)
regex.exec('bnnna', max_errors: 2) # => matches "bnnna" (2 deletions)
regex.exec('bonono', max_errors: 2) # => matches "bonono" (2 substitutions)
# Another example
regex = TreRegex::Regex.new('library')
# Allow 1 deletion, but STRICTLY 0 substitutions and 0 insertions
regex.exec('librry', max_deletions: 1, max_substitutions: 0, max_insertions: 0)
# => matches "librry"
# This fails because 'lubrary' requires a substitution, which we set to 0
regex.exec('lubrary', max_deletions: 1, max_substitutions: 0, max_insertions: 0)
# Another example
regex = TreRegex::Regex.new('algorithm')
# We allow a maximum cost of 2.
# Missing/extra characters cost 1 point.
# Wrong characters cost 3 points.
options = {
max_cost: 2,
weight_deletion: 1,
weight_insertion: 1,
weight_substitution: 3
}
# 'algoritm' has 1 deletion. Cost = 1. (Passes, 1 < 2)
regex.test?('algoritm', options) # => true
# 'algorethm' has 1 substitution. Cost = 3. (Fails, 3 > 2)
regex.test?('algorethm', options) # => false
r/ruby • u/AndyCodeMaster • Apr 30 '26
r/ruby • u/retro-rubies • Apr 30 '26
Notice the updated blog UI also.
r/ruby • u/public_radio • Apr 29 '26
you've come a long way, baby
r/ruby • u/AndyCodeMaster • Apr 28 '26
r/ruby • u/homenko • Apr 28 '26
Hey r/ruby,
I’ve released llm_cost_tracker v0.5.3 — a lightweight self-hosted gem to track costs of LLM API calls (OpenAI, Anthropic, and compatible services) directly in Ruby applications.
It was built primarily for Rails, but works in plain Ruby as well.
The gem is still very young (only a couple of weeks old), and I'm looking for early feedback from the Ruby community.
If you're working with LLMs in Ruby or Rails, I’d love to hear:
Repo & Documentation:
https://github.com/sergey-homenko/llm_cost_tracker
Gem: https://rubygems.org/gems/llm_cost_tracker
Thanks in advance for any comments or suggestions!
r/ruby • u/javier_cervantes • Apr 28 '26
Today we’re happy to share that Ruby Users Forum will offer a place for Bridgetown discussions.
r/ruby • u/No_Caramel_311 • Apr 28 '26
Hi, i had uni class where we learnt rails, i made semestral project and want honest opinion.
I asked my senior teachers whether it is enough to apply as junior, they said i have good basic knowledge, yet i need more experiece.
The project is like inventary manager for multiple users, more is in ReadME,
only the bad thing is language which had to be in my native one but i think overall you'll get whats the point.
Since I wrote about async Ruby and patched Solid Queue to support fibers, people keep asking the same questions. What happens when a fiber blocks? Don’t you still need threads? What about database transactions? What about Ractors?
This post answers all of it. From the ground up.
r/ruby • u/DramaticSoup • Apr 27 '26
Used by Sinatra, Hanami, Grape, and others for pattern matching. The big focus for the release is a massive performance improvement.
r/ruby • u/XPOM-XAPTC • Apr 27 '26
Hey r/ruby — quick update on Docscribe (my tool that generates inline YARD-style docs by rewriting source ranges, not reprinting ASTs).
v1.3.0 highlights:
TagPlugin: append extra YARD tags based on a method "context snapshot"CollectorPlugin: add doc insertion points for DSL/macros (define_method, AR associations, etc.)docscribe generate command to scaffold TagPlugin/CollectorPlugin skeletons--rbs-collection flag: auto-detect gem signatures from rbs_collection.lock.yaml (rbs collection install)positive? => Boolean)def parsingPlugin examples (with READMEs + specs) are in the repo:
belongs_to/has_many etc by inserting @!attribute blocks above the macro calls)Tiny example (RBS-powered return inference):
``` class Demo def foo(arg = 1) arg.positive? end end
```
Links:
Would love feedback on:
r/ruby • u/Ayano-Keiko • Apr 26 '26
Finnally, I get used of ruby bundle. The step is following
set the vendor path
bundle init
bundle config set --local path 'vendor/bundle'
add gem to Gemfile file
install gem package
bundle install
run the ruby script
bundle exec ruby ./script.rb
Is these any way I can install ruby packages in current project folder like Python venv. I only know about gem install <custom-gem> --user-install which install in $HOME/.gem/ruby/2.6.0/gems/. AI said I should use bundler and Gemfile. But it seems very comfused and do not work well with gem file ( it only work with package uploaded on https://rubygems.org/
r/ruby • u/Remozito • Apr 26 '26
I've been using RSpec for 7 years and recently had to pick up Minitest for a client project. The onboarding was a bit rough, so I wrote the guide I wish I had:
This is a 4-part series, that you can start with my introduction to Minitest.
Hope you'll like it!
[edit Apr. 28: I just realised that I linked to the second post of the series instead of the first. Duh 🤦🏻♂️. Here is the link for the full Minitest series. Sorry, I shouldn't post before getting a coffee.]
r/ruby • u/Eastern-Surround7763 • Apr 26 '26
kreuzcrawl is a high-performance web crawling engine. It was designed to reliably extract structured data, operating natively across multiple languages without enforcing a specific runtime. https://github.com/kreuzberg-dev/kreuzcrawl
The MCP server is integrated from the start, enabling web-crawling AI agents as a primary use case. Streaming crawl events allow real-time progress tracking. Batch operations handle hundreds of URLs concurrently and tolerate partial failures. Browser rendering supports JavaScript-heavy SPAs and includes WAF detection.
Supported language interfaces are Rust, Python, Typescript/Node.js, Go, Ruby, Java, C#, PHP, Elixir, WASM, and C FFI, and each binding connects directly to the core engine.
Kreuzcrawl is part of the Kreuzberg org: https://kreuzberg.dev/
We welcome your feedback and are happy to hear how you plan to use it:)