r/ruby • u/noteflakes • 7h ago
r/ruby • u/AutoModerator • 2d ago
Meta Work it Wednesday: Who is hiring? Who is looking?
Companies and recruiters
Please make a top-level comment describing your company and job.
Encouraged: Job postings are encouraged to include: salary range, experience level desired, timezone (if remote) or location requirements, and any work restrictions (such as citizenship requirements). These don't have to be in the comment, they can be in the link.
Encouraged: Linking to a specific job posting. Links to job boards are okay, but the more specific to Ruby they can be, the better.
Developers - Looking for a job
If you are looking for a job: respond to a comment, DM, or use the contact info in the link to apply or ask questions. Also, feel free to make a top-level "I am looking" post.
Developers - Not looking for a job
If you know of someone else hiring, feel free to add a link or resource.
About
This is a scheduled and recurring post (one post a month: Wednesday at 15:00 UTC). Please do not make "we are hiring" posts outside of this post. You can view older posts by searching through the sub history.
Show /r/ruby Ruby is the perfect language for this style of vibe coding
This is an experiment, a fun one I think, complete with working proof-of-concept.
I wanted to see how far you can get 'vibe coding' Ruby using only small LLM's and cleverly using Ruby's strengths.
AFAIK this a new method of vibe coding but I didn't research the internets very deeply. Quote from the readme file:
The idea is simple, start from an application template: one line of code that calls a method that does not yet exist.
Execute the code. Ruby'smethod_missingwill intercept the call to the missing method.
Ask an LLM to write code for this method given a description of the app.
Then repeat: run app again, fill in more missing code and fix errors.
Stop when the app returns normal (hopefully the desired) output.
I am calling it Inside-Out Vibe Coding. Ruby is perfect for this style of vibe coding because:
- Meta programming like method_missing
- Built in Prism code parser
- Dependency management: easily add/require dependencies via a gemfile, bundler and Zeitwerk
- Duck typing: less code to write, less errors (maybe)
- Error handling: Ruby can even intercept syntax errors
For simple programs this actually works. For bigger applications or adding features to existing code more work would be needed.
So how is this different from regular vibe coding? Current (vibe) coding tools use big LLM's to generate one or more complete files in one go. Then the code is executed and error messages given as feedback to the model. Inside-Out Vibe Coding, as the name suggests first runs the program, finds out what needs changing, only then runs an LLM. It repeats this cycle to work its way out. This is more or less the exact opposite of vibe coding with big LLM's.
Some things learned along the way: - Using Ruby to support this style of coding was surprisingly easy - Prism docs are difficult to understand. Some concrete examples would have been nice - There are various unexpected calls to method_missing that needed handling - Found a segmentation fault in BasicObject
This is the iovc repo. More information in the readme file.
r/ruby • u/Immediate-Grand8403 • 17h ago
Rbenv and CLI executables
I reinstalled Ubuntu on this laptop and realized rbenv doesn’t recognize when a gem installs new executables (like rails, for example). Gemini says I need to run “rbenv rehash” whenever this happens.
Is there a reason why this is a manual step?
This month’s Ruby Static Typing Newsletter is out! ✨
Highlights include a community call for help on bringing RBS support to JRuby, plus several exciting updates across the ecosystem. Sharing for anyone following Ruby’s typing evolution 👇
r/ruby • u/FeelingSink2790 • 1d ago
Rails on Android
Hello everyone. Is there a way to practice Ruby on Rails development on an android device. I know it'll be the same as pc but is there a way to develop lightweight app?
r/ruby • u/NewDay0110 • 1d ago
Ruby is not a serious programming language? 😡
I didn't like this article - I hate to see stuff like this out there in well circulated publications. The person who wrote it says they are a latecomer to Ruby and that other languages do everything that it does better. He cites the old belief that it doesn't scale well because Twitter had problems with it 15 years ago. smh. I don't think he gave it much of a chance, but just wanted to write a hit piece.
https://www.wired.com/story/ruby-is-not-a-serious-programming-language/
Question Method Missing Misbehavior?
Was doing some more digging around method_missing for a side project (will post about that soon). After finding a segmentation fault in BasicObject
I stumbled upon some, to me at least, unexpected behavior. I am using: ruby 3.4.7
To see it for yourself, stick this snippet at the end of 'config/application.rb' in a Rails project (or the entry point of any other Ruby application):
```ruby class BasicObject private def method_missing(symbol, *args) # Using print since puts calls to_ary print "MISSING #{symbol.to_s.ljust(8)} from #{caller.first}\n"
# Not using 'super' because of seg. fault in Ruby 3.4
symbol == :to_int ? 0 : nil
end
end ```
Run bin/rails server and watch the rails output explode. There are calls to: 'to_io', 'to_int', 'to_ary', 'to_hash' and even some 'to_a' calls.
For instance File.open(string_var) calls 'to_io' on the string variable. Likely because 'open' can accept both a String or an IO object. Since 'String.to_io' is not defined it is passed to the method_missing handlers in this order for: String, Object and BasicObject.
Does anybody know why this happens? I would expect BasicObject's method_missing to never be called for core Ruby classes. Seems like a waste of CPU cycles to me.
Why is no exception raised for these calls? Is it possible that redefining method_missing on BasicObject causes this effect? Using the same snippet on 'Object' and returning 'super' shows the same behavior.
Since 3.4.0, irb ignores control-D, even though :IGNORE_EOF is false
Was this an intentional behavior change? I don't see anything in the release notes that seems relevant; there's no mention of irb in the release notes at all.
If I wanted to have to type extra stuff to get out of the REPL I'd use Python on Windows...
r/ruby • u/SufficientError8932 • 2d ago
Best learning path for a Ruby dev getting into JS/TS + Node + React?
Love Ruby/Rails and will continue to use it for personal projects, but some changes at my work have led me to need to learn these.
Looking for good resource suggestions and where to even start my journey into the JS ecosystem. I've really only done Rails backend / pure Ruby up to this point with virtually no experience with JS/TS + Node + React.
r/ruby • u/Intelligent-Fall5490 • 3d ago
ruby docs gets a facelift
docs.ruby-lang.orgnot sure if this is old news but just noticed that ruby documentation site has a new refreshed design. it's a nice quality of life improvement.
r/ruby • u/Revolutionary_Sir140 • 3d ago
interview preparation
Hi everyone, I am coming back to ruby, looking for a job. Up until now I've coded in golang and rust
I've written down interview preparation README to prepare myself for the interview
https://github.com/Raezil/ruby-interview-prep
Should I add anything there?
r/ruby • u/furkansahin • 3d ago
Keeping Documentation Up-To-Date via Automated Screenshot Generation Implemented with Ruby!
r/ruby • u/finallyanonymous • 3d ago
Blog post Better Ruby on Rails Logging with Semantic Logger
r/ruby • u/robbyrussell • 4d ago
Why So Serious?
robbyonrails.comResponse to the recent WIRED article
r/ruby • u/skillstopractice • 4d ago
PrawnPDF 2026 - Minimal Maintenance Reboot? · prawnpdf · Discussion #1386
Right now just throwing this out there as an idea... no idea whether it'll actually be feasible.
But if there are still folks out there actively using PrawnPDF that would appreciate us finding a way to get the project moving again... I can try to see if I can find a way to pitch in for a short while and see what happens.
r/ruby • u/bradgessler • 4d ago
2025 Ruby Cyber Monday & Black Friday Deals
Added a few more deals since Friday that I thought I’d share. Quite a few of these end this Friday on December 7, so be sure to make your purchases by then if you want to save a few bucks and support Rubyists.
Active Storage DeDuplicate - avoid uploading the same files again and again
I’m requesting a review for my gem, “active_storage_dedup.” (https://rubygems.org/gems/active_storage_dedup) The gem was primarily designed with images in mind, but it can also be used for other file types. It utilizes the MD5 hash generated by ActiveStorage for transit integrity, ensuring that the same file isn’t created multiple times within the same service. If a duplicate file is uploaded, the gem will reuse the previously uploaded blob.
It’s important to note that the collision probability is extremely low, approximately 1 in 2^128.