Ruby Users Forum - Latest topics https://www.rubyforum.org/latest Latest topics Sat, 25 Apr 2026 04:36:20 +0000 Spinel - Ruby AOT Compiler General

Spinel compiles Ruby source code into standalone native executables. It performs whole-program type inference and generates optimized C code, achieving significant speedups over CRuby.

Spinel is self-hosting: the compiler backend is written in Ruby and compiles itself into a native binary.

This is pretty crazy, I’m very excited by this project but a little concerned about the heavy Claude usage.

It could mean a whole new world for Ruby if it’s a serious project. Distribution of Ruby projects has always been one of my biggest pet peeves. I hope it can do cross compilation too.

2 posts - 2 participants

Read full topic

]]>
https://www.rubyforum.org/t/spinel-ruby-aot-compiler/296 Sat, 25 Apr 2026 04:36:20 +0000 No No No www.rubyforum.org-topic-296 Spinel - Ruby AOT Compiler
Do you enjoy any language other than Ruby? If so, which ones? Community I’m not talking about “using”. I had to use Java for a previous job (and also during my college stint) and I hated the language, especially because I first started with Ruby and I couldn’t stop thinking “this could be so much easier and elegant”. I’m talking more about, “I really want to use X to do this project/script/thing”. For me, it would be Commonlisp or Elixir. Crystal too if it wasn’t so far behind in terms of maturity and community.

4 posts - 4 participants

Read full topic

]]>
https://www.rubyforum.org/t/do-you-enjoy-any-language-other-than-ruby-if-so-which-ones/295 Fri, 24 Apr 2026 22:42:38 +0000 No No No www.rubyforum.org-topic-295 Do you enjoy any language other than Ruby? If so, which ones?
How to automate project releases Learning Resources Hey, all. :waving_hand:

I’ve been working on release management automation for several decades and wanted to share tooling that might be of value to you and/or your team at large which you might not be aware of: Milestoner. This is a Ruby gem that I’ve maintained for a long time and use on all of my projects (including client projects).

This is accomplished via a healthy Git Rebase workflow. Rebasing isn’t a strict requirement but you’re much better off if you do (not only will your team thank you but so will your future self). A healthy Git Commit coupled with the power of Git Trailers can work wonders and Milestoner understand how to take all that information to automatically version your releases and build the corresponding release notes.

If you’d like a deeper dive, definitely check out my Milestones article and/or slides. Also, if you are looking for speakers at local meetups always happy to talk about this subject as well. :rocket:

Enjoy!

1 post - 1 participant

Read full topic

]]>
https://www.rubyforum.org/t/how-to-automate-project-releases/294 Fri, 24 Apr 2026 20:54:14 +0000 No No No www.rubyforum.org-topic-294 How to automate project releases
Tutorialkit.rb: interactive Ruby tutorials entirely in the browser Community TutorialKit.rb, a toolkit for building interactive Ruby and Rails tutorials that run entirely in the browser, has reached the release candidate stage and is ready for general use. In this post, there is a walk-through of the final DX for building tutorials, sharing some real-world examples, and the research behind the project.

Note: This is the final Ruby Association Grant 2025 report on the TutorialKit.rb project. For the background, motivation, and initial research, see Part 1: the ruby.wasm journey goes onward.

1 post - 1 participant

Read full topic

]]>
https://www.rubyforum.org/t/tutorialkit-rb-interactive-ruby-tutorials-entirely-in-the-browser/291 Thu, 23 Apr 2026 15:18:13 +0000 No No No www.rubyforum.org-topic-291 Tutorialkit.rb: interactive Ruby tutorials entirely in the browser
Stub LLM Responses with RubyLLM::Test Announcements I just released a new gem, RubyLLM::Test. It makes it easy to test application code that interacts with LLM’s via the RubyLLM gem.

I struggled with how to do this, and after iterating a few times landed on what I think is a clean solution.

RubyLLM::Test.stub_response("Outlook good")

chat = RubyLLM.chat
response = chat.ask "What are the odds this works?"

assert_equal "Outlook good", response.content

If you use RubyLLM, I hope you’ll check this out and it improves your tests.

1 post - 1 participant

Read full topic

]]>
https://www.rubyforum.org/t/stub-llm-responses-with-rubyllm-test/290 Wed, 22 Apr 2026 17:54:38 +0000 No No No www.rubyforum.org-topic-290 Stub LLM Responses with RubyLLM::Test
Sidekiq in the terminal Community kiq is a new administration interface for Sidekiq, a speedy terminal application based on Kerrick Long’s ratatui_ruby gem. You can try it out locally if you’re already running Sidekiq 8.1.

Check out the full announcement here: https://www.mikeperham.com/2026/03/10/sidekiq-in-the-terminal/

@mperham is also requesting feedback on this new tool. Please reply with your thoughts and impressions with kiq. How can it be improved? What are your frequently needed admin use cases? What data is missing or should be displayed differently?

2 posts - 2 participants

Read full topic

]]>
https://www.rubyforum.org/t/sidekiq-in-the-terminal/289 Wed, 22 Apr 2026 15:22:22 +0000 No No No www.rubyforum.org-topic-289 Sidekiq in the terminal
TypedPrint - Tables to Hashes Announcements Hi folks :waving_hand:

So here’s the story. I was bored last night after work and wanted to build something simple, maybe open source. Also wanted to try out DeepSeek a bit. So I made this little gem called typed_print.

I haven’t shared this anywhere yet. This forum is the first place I’m posting because I like the community here and it feels genuine.

It’s nothing huge. Just turns hashes into clean tables in the terminal.

Example:

data = [
  { name: "Alice", score: 100, active: true },
  { name: "Bob", score: 42, active: false }
]

TypedPrint.print(data)

Output:

 Name  Score Active 
------+------+-------
Alice   100 true   
Bob      42 false  

Features:

  • Zero dependencies
  • Column alignment (left/right/center)
  • Filter columns with only:
  • Custom headers with headers:

Install:

gem install typed_print

Links:

I’d really appreciate your feedback. Let me know what you think.

Thanks for reading :folded_hands:

5 posts - 2 participants

Read full topic

]]>
https://www.rubyforum.org/t/typedprint-tables-to-hashes/287 Wed, 22 Apr 2026 05:49:47 +0000 No No No www.rubyforum.org-topic-287 TypedPrint - Tables to Hashes
PaaS is dead, long live PaaS! Learning Resources You’re building a new Ruby app and are looking for options to deploy it. Or maybe you’re building your portfolio to showcase your projects. If you’re confused or frustrated because you’re not well versed in “Devops stuff” and don’t want to spend a lot of time figuring out how to set things by yourself, then you should consider using a PaaS provider.

There’s been some significant improvements that make self-hosting more approachable, but with a hosting platform you get the following features out of the box:

  • Quick setup of your application and an interface to manage them.
  • Built in metrics dashboards, logging basics, and standard machine health checks.
  • CLI to manage and configure your applications from the terminal.
  • SSL certificates and domain configuration out of the box.
  • Manual and automatic rollbacks and backups.
  • Security and updates of your servers and applications.

The not-so-hidden costs

Make It Myself: https://xkcd.com/3233

Generally, if you can make operation problems someone else’s problem, it’s more favourable from a business’s point of view, that’s why I don’t recommend self-hosting on a VPS unless you have previous experience or the scale of your application makes it worth the investment.

Most of the vendors offer a free trial and cheap options to get started, so if you’re deploying small apps, the cost will be very similar to self-hosting, specially when you add the time spent in the extra configuration.

For example, just an hour of your billable time will pay for the cost of hosting your app for at least 1 month. If you’re building an app, then you could use that time to build your product.

The self-hosting tradeoffs

Self hosting can be a great option if the scale of your application translates into a significant cost saving or if you’re operations team or time spent will remain the same. Judoscale has a nice PaaS pricing calculator you can use as reference.

Another great use case for self-hosting is the learning experience, maybe you want to learn more about how things work under the hood or if you’re looking to get some “hands on” experience.

Although tools like Kamal or Dokku can give you a great deployment experience, the infrastructure around will still be your responsibility. These are some of the activities you’ll need to consider just to keep the light on:

  • Set up your own load balancers, SSL and domain configuration.
  • Upgrade of system dependencies of your app server, database, etc.
  • Ensure backups are configured and working.
  • Collect logs and monitor your servers.
  • Auto-scaling or automatic failover needs to be handled manually.
  • If you’re running critical workflows on production, you need to be on-call 24/7.

Next steps

If you haven’t already a look at the Hosting options to deploy a Ruby app or Guide to deploy a Rails app (in less than 10 minutes) for a step-by-step process. Others have written about these tradeoffs, make sure you check them out too:

Feel free to share your experiences with hosting and deployment of your applications.

8 posts - 5 participants

Read full topic

]]>
https://www.rubyforum.org/t/paas-is-dead-long-live-paas/285 Tue, 21 Apr 2026 13:41:43 +0000 No No No www.rubyforum.org-topic-285 PaaS is dead, long live PaaS!
What is your coffee preference? ☕ Community Hello lovely Ruby people :waving_hand:

I don’t know if you’re a coffee person or not, but I’m definitely a coffee person. As a Turkish citizen, you might expect my coffee to be Turkish coffee — but it’s not! To be honest, I haven’t found my perfect “coffee” yet :sweat_smile: I don’t like milky coffees, I prefer black ones. So what’s your coffee of choice?

:beating_heart:

18 posts - 9 participants

Read full topic

]]>
https://www.rubyforum.org/t/what-is-your-coffee-preference/284 Tue, 21 Apr 2026 05:53:06 +0000 No No No www.rubyforum.org-topic-284 What is your coffee preference? ☕
Announcing the Ancient & Nameless & Fun & Stupid Game Jam Announcements We’ve just announced Ancient & Nameless & Fun & Stupid - A DragonRuby Community Game Jam

This is the 4th annual Keep It Fun And Stupid, Stupid! game jam, and starts in about a month. It’s relaxed and beginner friendly, and (at least) 3 weeks long, starting May 21st. DragonRuby will be available free during the jam (Standard Edition, free forever).

If you’ve been looking for an excuse to try your hand at making a game, this is a great opportunity.

2 posts - 2 participants

Read full topic

]]>
https://www.rubyforum.org/t/announcing-the-ancient-nameless-fun-stupid-game-jam/283 Mon, 20 Apr 2026 18:24:25 +0000 No No No www.rubyforum.org-topic-283 Announcing the Ancient & Nameless & Fun & Stupid Game Jam
Announcing simplecov-compare Announcements A new gem, simplecov-compare, has been introduced to help compare test coverage results between two SimpleCov runs.

Instead of relying on external services or pipelines, it works directly with JSON output files, highlighting differences in line coverage across files and result sets. The tool includes formatters and reporters to display those differences, with support for both the CLI and Ruby API.

This is the link to read the full article: https://kevinjmurphy.com/posts/announcing-simplecov-compare/

1 post - 1 participant

Read full topic

]]>
https://www.rubyforum.org/t/announcing-simplecov-compare/281 Mon, 20 Apr 2026 14:48:38 +0000 No No No www.rubyforum.org-topic-281 Announcing simplecov-compare
Cassidoo’s Interview question of the week | 453 Learning Resources Hello :waving_hand:

This week question is about finding the maximum number of non-overlapping copies in given string.

Given a string s containing letters and ? wildcards (that can match any letter), and a target pattern string pattern, rearrange the entire string however you like. Return the maximum number of non-overlapping copies of pattern that can appear in the rearranged result.

maxPatternCopies("abcabc???", "ac")  // 3

maxPatternCopies("aab??", "aab")  // 1

maxPatternCopies("??????", "abc")  // 2

Happy coding!

8 posts - 5 participants

Read full topic

]]>
https://www.rubyforum.org/t/cassidoo-s-interview-question-of-the-week-453/280 Mon, 20 Apr 2026 12:48:50 +0000 No No No www.rubyforum.org-topic-280 Cassidoo’s Interview question of the week | 453
BrutRB + Otel - sorta works! General One of my goals for Brut was to make observabililty/instrumentation built-in via OTel. In fact, I’m trying to make it so that there is no logging, just OTel. I’m not quite there, but OTel is working much better now.

As mentioned previously, OTel is not well documented and most of what’s there is geared toward using OTel as a client and not incorporating it into a framework.

I had it working pretty well for web requests, but really wanted to see a trace where a web requested queued a Sidekiq job, and then the trace included that job’s behavior.

A lot of OTel config says to do use_all, but this is generally a mistake IMO. Configuration code isn’t often edited, so it doesn’t benefit from slick batteries-included DSLs that do it all. It’s often much better to have it explicitly laid out so you can see what’s what and now what you can change and where.

Here is how Sidekiq is set up:

if defined?(OpenTelemetry::Instrumentation::Sidekiq)
  c.use 'OpenTelemetry::Instrumentation::Sidekiq', {
    span_naming: :job_class,
    propagation_style: :child, # <--- default is "link"
  }
else
  SemanticLogger[self.class].info "OpenTelemetry::Instrumentation::Sidekiq is not loaded, so Sidekiq traces will not be captured"
end

The default “propagation style” is “link”, which I think is intende to link the trace that queued a job to the trace that processes it. In practice, this doesn’t seem to actually create the link or the link doesn’t show up (at least Honeycomb and otel-desktop-viewer - OTel is extremely hard to debug). Setting the style to “child” puts the processing trace as a child of the original trace.

[As with many things, I spent weeks putting it off and got it working in like 15 minutes.]

Here’s screenshots from local otel-desktop-viewer showing a web request that leads to a job queue that is then processed:



3 posts - 2 participants

Read full topic

]]>
https://www.rubyforum.org/t/brutrb-otel-sorta-works/279 Sun, 19 Apr 2026 16:59:17 +0000 No No No www.rubyforum.org-topic-279 BrutRB + Otel - sorta works!
What's New in Herb v0.9? Announcements A new version of Herb, the HTML+ERB toolchain, has been released.

Version 0.9 focuses on stability and deeper language support, introducing features like Action View helper awareness, improved linting and formatting, Prism AST integration, and performance improvements across the toolchain.

If you’re working with HTML+ERB, this release is worth taking a look.

Read the full announcement here: What's new in Herb v0.9 | Herb

1 post - 1 participant

Read full topic

]]>
https://www.rubyforum.org/t/whats-new-in-herb-v0-9/278 Fri, 17 Apr 2026 14:49:29 +0000 No No No www.rubyforum.org-topic-278 What's New in Herb v0.9?
Containable 2.2.0 and Infusible 5.2.0 Announcements Hey everyone. :waving_hand:

Containable 2.2.0 and Infusible 5.2.0 have been released. These are mostly code quality related releases. Both pair well together. If you happen to be at Blue Ridge Ruby this year, I’ll be speaking about both of these gems as well. :rocket:

1 post - 1 participant

Read full topic

]]>
https://www.rubyforum.org/t/containable-2-2-0-and-infusible-5-2-0/276 Fri, 17 Apr 2026 12:48:47 +0000 No No No www.rubyforum.org-topic-276 Containable 2.2.0 and Infusible 5.2.0
Refinements 14.3.0 Announcements Hey all. :wave:

Refinements 14.3.0 has been released and is mostly a maintenance release with a focus on code quality. Enjoy!

1 post - 1 participant

Read full topic

]]>
https://www.rubyforum.org/t/refinements-14-3-0/275 Fri, 17 Apr 2026 12:43:04 +0000 No No No www.rubyforum.org-topic-275 Refinements 14.3.0
Talk: PWA on Rails at RubySur (online) Announcements Hello, this is Juan. I’m just passing by to share that I’ll be giving a talk next Monday at Ruby Sur, didn’t add specific hour because is relative to each of us, is better if you go to the scheduled YT video and check.

It is about PWA on Rails because, yes, Rails has supported it since v7.2, but probably it has not been explored as much as other features. It is a powerful way to “not need to use a native application” depending on requirements, and this is also to get your app ready for the upcoming push notification support that Rails core maintainers are getting in front of us at some point.

BTW, the talk is going to be in Spanish, since this is a Spanish Ruby community.

If you are not like attending but interested in the topic, here you have the slides I’m going to use. There is a folder called gists where you can copy/paste the code in your application to enable it.

Stay tuned; see you there. :sunny:

PWA en Rails

11 posts - 6 participants

Read full topic

]]>
https://www.rubyforum.org/t/talk-pwa-on-rails-at-rubysur-online/270 Thu, 16 Apr 2026 16:54:18 +0000 No No No www.rubyforum.org-topic-270 Talk: PWA on Rails at RubySur (online)
How to ensure an existing ruby app is thread-safe Learning Resources You’re probably considering switching to puma to solve an issue with a service or you need to review that you’re workers code is thread safe because you want to use Sidekiq.

A first good step would be to use rubocop-thread_safety to make a static analysis. You can also use threads gem if you’ve identified a potentially gnarly bunch of code you want to make thread-safe.

Additionally, you need to make sure you have a comprehensive test suite that will check for any potential issues in the code. For web requests, you want carefully audit any state that the application saves about the web request to avoid leaking data across requests.

After those checks have passed, you can the following process to release it safely:

  1. Use the new code in your local and test environments for a period of time (without releasing it) to ensure the behaviour matches the original.
  2. Before full rollout, make a canary release. By having a portion of your production traffic going to only one or two (vs. N) of the servers using the new code and monitor closely.

I hope you find this guide helpful, if you have any other recommendations or real-life experience with a similar process, please reply!

2 posts - 2 participants

Read full topic

]]>
https://www.rubyforum.org/t/how-to-ensure-an-existing-ruby-app-is-thread-safe/269 Thu, 16 Apr 2026 16:24:05 +0000 No No No www.rubyforum.org-topic-269 How to ensure an existing ruby app is thread-safe
wxRuby3 v1.8.0 released Announcements This is a major upgrade providing improved stability and new classes and features.

wxRuby3 is a cross-platform GUI library for Ruby, based on the mature wxWidgets GUI toolkit for
C++. It uses native widgets wherever possible, providing the correct look, feel and behavior to GUI applications on Windows, OS X and Linux/GTK. wxRuby aims to provide a comprehensive solution to developing professional-standard desktop applications in Ruby.

What’s changed in this release:

  • major refactoring and improvements to life cycle management
  • add Wx::WEB module
  • add full support for wxWebView as Wx::WEB::WebView
  • add Wx::WEB::WebView sample
  • update INSTALL.md for WebView options
  • add Wx::HTML::HtmlModalHelp
  • add Wx::ContextHelp
  • add Wx::HelpProvider sample
  • add support for Ruby Ractor
  • add Wx::RT module
  • add Wx::RT::SharedEvtHandler and Wx::RT::ThreadEvent
  • implement custom main event loop with automatic support for Ruby Thread and Ractor
  • refactor event/threaded.rb sample to properly demonstrate Fiber, Thread and Ractor support
  • extended regression tests
  • update documentation and wiki
  • update wxWidgets master branch compatibility to at least commit b226c77ec2ed77d636afe892acc39b186f03c12a

Note: This release has dropped support for Ruby version < 3.0.

See the release announcement for more information: https://github.com/mcorino/wxRuby3/discussions/493

wxRuby3 also provides an extensive wiki detailing many aspects of wxRuby development as well as provide a large set of HowTo’s with ready to run examples.

1 post - 1 participant

Read full topic

]]>
https://www.rubyforum.org/t/wxruby3-v1-8-0-released/267 Thu, 16 Apr 2026 07:57:01 +0000 No No No www.rubyforum.org-topic-267 wxRuby3 v1.8.0 released
Cassidoo’s Interview question of the week | 452 Learning Resources This week’s question:

You’re building a pizza ordering system that enforces strict ingredient layering rules. Given an array of pizza layers (bottom to top) and a set of rules where each rule states that ingredient A must appear somewhere below ingredient B, write a function that determines whether the pizza is valid. If any rule is violated, return the pair [A, B] that was violated first (in the order the rules are given). If the pizza is valid, return true.

Examples:

layers = ["dough", "sauce", "cheese", "pepperoni", "basil"]
rules = [
  ["sauce", "cheese"],
  ["cheese", "pepperoni"],
  ["dough", "basil"],
];
rules2 = [
  ["cheese", "pepperoni"],
  ["cheese", "sauce"], # "it's under the sauce"
];

validate_pizza(layers, rules);
=> true

validate_pizza(layers, rules2);
=> ["cheese", "sauce"]

3 posts - 2 participants

Read full topic

]]>
https://www.rubyforum.org/t/cassidoo-s-interview-question-of-the-week-452/266 Wed, 15 Apr 2026 21:19:11 +0000 No No No www.rubyforum.org-topic-266 Cassidoo’s Interview question of the week | 452
Minimum required ruby for gems? Help Ruby 3.2 went EOL as of the end of March. I noticed because one of my gems failed its 3.2 tests in CI because the parallel gem now requires Ruby 3.3.

I feel like I have a couple of options for the gems I maintain:

  • Pin parallel to the old version (it’s only a development dependency), then do nothing.
  • Stop testing on Ruby 3.2, call that out in the README, but leave the minimum required version at 3.2.
  • Bump the minimum required version to 3.3.

It seems like the last choice is the correct one, but might cause users some grief. Given that security is moving at the speed of light these days, it also feels like the safest one.

Is this a no brainer? Can anyone make the case for providing a bit more of a grace period for 3.2?

5 posts - 4 participants

Read full topic

]]>
https://www.rubyforum.org/t/minimum-required-ruby-for-gems/263 Wed, 15 Apr 2026 20:24:51 +0000 No No No www.rubyforum.org-topic-263 Minimum required ruby for gems?
East Bay Ruby Meetup Announcements Hey all, this week the East Bay Ruby Meetup is in Concord at Qamaria Coffee. Hope you can make it! Concord Ruby Early Birds · Luma

1 post - 1 participant

Read full topic

]]>
https://www.rubyforum.org/t/east-bay-ruby-meetup/260 Tue, 14 Apr 2026 20:56:48 +0000 No No No www.rubyforum.org-topic-260 East Bay Ruby Meetup
Deploying Brut app to Hetzner General My previous Brut apps are deployed to Heroku, since that’s what I know and is super easy to use. A dyno + DB + Redis ends up being around $30/month, so for the app I’m working on now, I’m using Hetzner.

I’m running everything on one box and did manual setup, nothing scripted. The opposite of what you are supposed to do :slight_smile:

I was pleasantly surprised how easy it has been - basically apt install stuff and it tends to be set up correctly. certbot just handled the SSL cert and seems set up to update it as needed.

This setup will cost me around $10/month. It’s obviously not a great practice to have all app, DB, and Redis all on one box, but until this app is used my someone other than me, that’s probably fine.

Brut includes support for Docker-based deployments to Heroku, where the generated Dockerfile could probably be used more generally. I opted to not use Docker for this, just to see what it was like. Not wanting an ancient Ruby, I first tried mise, however it required me to somehow know some system packages to install to make things work since it wanted to build Ruby. Doing this as a non-root user I didn’t want to deal with that.

I ended up using rv - it was super fast, did not require installing anything via apt and so far has just worked. To install a few RubyGems I had to install build-essential and libyaml.

rv is still new, and the docs aren’t super clear, but basically:

  • curl -LsSf https://rv.dev/install | sh
  • rv ruby install 3.4.9
  • Add whatever it said to the .bashrc
  • ruby --version just works!

All that took a matter of minutes to achieve.

YOLO’ing it on a VPS still is missing a lot of stuff from Heroku, like log access, metrics, console, deployments, etc. But, since this app is just me, I am just going to script stuff specific to the app and see how far that gets me.

6 posts - 2 participants

Read full topic

]]>
https://www.rubyforum.org/t/deploying-brut-app-to-hetzner/259 Tue, 14 Apr 2026 19:30:42 +0000 No No No www.rubyforum.org-topic-259 Deploying Brut app to Hetzner
What are you working on this month? Community What are you building, fixing, or learning with Ruby this month?

Brief updates welcome.

6 posts - 5 participants

Read full topic

]]>
https://www.rubyforum.org/t/what-are-you-working-on-this-month/256 Tue, 14 Apr 2026 15:15:34 +0000 No No No www.rubyforum.org-topic-256 What are you working on this month?
Ruby Users Forum ❤️ Open Source Announcements In Ruby Users Forum, our mission is to strengthen the Ruby ecosystem through thoughtful discussion and collaboration. We’re collaborating with Open Source maintainers to build some momentum together to improve the future of the Ruby community.

Today we’re happy to announce that we’re working with @bkuhlmann, @davetron5000, @kaspth, @Sean and @todd to bring their projects discussions to the forum:

  • action_controller-stashed_redirects - Pass between different controller flows via stashed redirects
  • active_job-performs - adds the performs macro to set up jobs by convention.
  • active_record-associated_object - Extract Collaborator Objects from your Active Records, a new concept called Associated Objects
  • brut - Raw Ruby Web Apps. Standards-based, No-nonsense, HTML-first, Low Ceremony.
  • cogger - For advanced logging.
  • containable - For dependency injection containers.
  • filterameter - Simplify and speed development of Rails controllers by making filter parameters declarative.
  • infusible - For automatic injection of dependencies (pairs extremely well with Containable).
  • oaken - Fixtures + factories + seeds for your Rails development & test environments.
  • refinements - For the missing functionality in Ruby you wish you had!
  • sod - For advanced CLIs.
  • taylor - A simple game engine built using raylib and mruby.

When you create a new post, add a tag for those projects or visit the tags section to filter the discussions by project.

Finally, we would love to have more projects included, if you have any suggestions, please contact us!

1 post - 1 participant

Read full topic

]]>
https://www.rubyforum.org/t/ruby-users-forum-open-source/254 Tue, 14 Apr 2026 13:00:39 +0000 No No No www.rubyforum.org-topic-254 Ruby Users Forum ❤️ Open Source
GUI gem out of the box Community Hello Ruby Users! I’d like to introduce my pet project: kredki. It’s a gem for playing with vector graphics and creating simple applications. It’s almost completely untested, full of bugs, and the documentation is sparse, but I’m proud of it. Especially since it’s 100% the result of using Natural Intelligence :upside_down_face: If you’d like to check it out, you can download it from RubyGems or visit my GitHub repository. Any feedback would be greatly appreciated!

Note: kredki currently doesn’t work on macOS. I plan to fix this as soon as I have access to the necessary hardware, or if someone else helps me with it.

10 posts - 2 participants

Read full topic

]]>
https://www.rubyforum.org/t/gui-gem-out-of-the-box/253 Mon, 13 Apr 2026 20:25:39 +0000 No No No www.rubyforum.org-topic-253 GUI gem out of the box
Um, what is Filterameter? General I’m glad you asked. The filterameter gem simplifies your Rails controllers by providing a DSL for filter parameters. Rather than manually checking for the presence of query params then building up an ActiveRecord query, you can just declare the filters you want.

Here’s a code snippet from a controller that shows accounting entries:

filter :type, name: :account_type, association: :account
filter :account_id
filter :partner_id
filter :accounting_date, range: true
filter :amount, range: true

That code does what you’d expect. Which is kind of nice.

1 post - 1 participant

Read full topic

]]>
https://www.rubyforum.org/t/um-what-is-filterameter/252 Mon, 13 Apr 2026 18:48:56 +0000 No No No www.rubyforum.org-topic-252 Um, what is Filterameter?
Let's Talk Filterameter! Announcements The goal of the Filterameter gem is to make it easy to use filter parameters in Rails controllers. Want to filter by an attribute? Just declare it. You can declare filters on attributes, associations, and scopes. Please check out the project or this overview for all the details.

The Ruby Users’ Forum is the official home for project discussions. Use the filterameter tag when posting. I’ll be keeping an eye out for questions, suggestions, or success stories!

1 post - 1 participant

Read full topic

]]>
https://www.rubyforum.org/t/lets-talk-filterameter/250 Fri, 10 Apr 2026 19:36:15 +0000 No No No www.rubyforum.org-topic-250 Let's Talk Filterameter!
BrutRB Deep Thoughts for Apr 9 General I’ve been trying hard not to just randomly add features to Brut. My method has been to build real apps, then see what’s missing or annoying, and fold those back into Brut or at least document how to do it.

HOWTOs

I recently created a bunch of “HOWTOs” that just explain simply how to achieve something. It’s a bit of a mish-mash, but I recently needed to test webhooks on my dev environment, and used ngrok. Fortunately, Brut had the features needed to use it, but it just wasn’t clearly documented. Thus, HOWTO ngrok

Webhooks

It did make me think that it’s worth having webhooks as a first class concept. Brut applies CSRF protection to every HTTP POST, but for a webhook this doesn’t make any sense. Brut allows you to control how CSRF is applied by creating a class, but rather than do that, I’m considering something like

webhook "/telnxy" # => /webhooks/telnxy; Webhooks::TelnyxHandler

and then storing “this is for a webhook” as metadata internally, then opting it out of CSRF protection.

Observability

One struggle I’m constantly having is getting OpenTelemetry to work outside of a web request. I’ve tried many incantations with Sidekiq and can’t quite get it working. It’s really hard to debug (or hard for me to anyway :). Similarly, tasks initiated from e.g a CLI I also cannot get to show up.

OTel is extremely poorly documented (despite having thousands and thousands of pages of documentation) so it’s been a lot of trial and error. Something I will probably work on so, since the current app I’m using has an SMS-based UI, so almost none of its behavior is part of a web request - even webhooks just validate the request and queue a job.

5 posts - 3 participants

Read full topic

]]>
https://www.rubyforum.org/t/brutrb-deep-thoughts-for-apr-9/248 Thu, 09 Apr 2026 13:54:26 +0000 No No No www.rubyforum.org-topic-248 BrutRB Deep Thoughts for Apr 9
Show Us Your Ruby Setup Community We’d like to see how everyone is working with Ruby. Share a quick overview of your setup:

  • OS
  • Editor / IDE
  • Ruby version manage
  • Terminal
  • Other dev tools

Feel free to add anything else that makes your workflow smoother. Screenshots and short lists are welcome.

21 posts - 19 participants

Read full topic

]]>
https://www.rubyforum.org/t/show-us-your-ruby-setup/247 Thu, 09 Apr 2026 13:21:53 +0000 No No No www.rubyforum.org-topic-247 Show Us Your Ruby Setup