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.
Leaving the Cloud With Chris & Creston | Rubber Duck Dev Show 82
In this episode, we discuss whether you should consider leaving the cloud:
Rice 4.1 (Creating Ruby bindings for C++ libraries)
Rice makes it much easier to wrap C++ APIs - it is the Ruby equivalent to PyBind11. Get started with the tutorial at https://jasonroelofs.com/rice/4.x/tutorial.html. After you are done with the tutorial, there is extensive documentation about how to wrap C++ libraries - see https://jasonroelofs.com/rice/4.x/bindings.html. The Rice authors would love to see more Ruby bindings to C++ libraries and are happy to offer pointers as needed - please submit tickets on Github.
Project-specific .irbrc
offers a solution to having a project-specific .irbrc while also keeping a global ~/.irbrc for shared functionality.
Gosu Game Jam 4 has began!
The theme is: Platformer [more inside]
Using a Redlock Mutex to Avoid Duplicate Requests
How I found and fixed a tricky request processing race condition using Ruby, Redis, and Redlock
ChatGPT from your Rails console
- do you want to ask ChatGPT for help directly from the Rails console? Examples: [more inside]
Glimmer DSL for LibUI 0.7.x Table Selection and Sorting API
In the 0.7.x version series, Glimmer DSL for LibUI finally gets the much awaited Table Selection API and Table Sorting API that got added to the underlying libui C library a few months ago. The good news is tables are now sortable by default without having to write a single line of code (Convention Over Configuration). That means all older applications that had tables now have sortable tables. [more inside]
Solidus v3.4 is out
We’re thrilled to announce the release of Solidus v3.4! This release marks an important milestone for our e-commerce platform as we move closer to the highly anticipated v4 release. We invite you to upgrade to v3.4 and address any deprecation warnings to ensure a smooth transition to the future of Solidus. [more inside]
lazy_value gem
Load values on your pages using Ajax. Literally with one line of code: <%= lazy_value_tag { User.active.count } %>
How to keep up with your usual sending volumes without a drop?
How to mitigate sending risks and be able to deliver those VERY IMPORTANT emails to your customers’ inboxes no matter what? [more inside]
Component-driven development on Rails with Phlex
I wrote an article at about how I built a Rails application 100% from Phlex classes and 0% Erb, including the application layout. I found the approach to be fun, expressive, productive, and at times … it even felt like I was building a Sinatra app in Rails 😄.
Gosu Game Jam 4
The Gosu Game Library is having its 4th, week long, game jam starting April 23rd. Vote on the theme and find details on itch.io
Developer Documentation With Grant Willcox | Rubber Duck Dev Show 81
In this episode, we discuss how to handle documentation when you are a developer with Grant Willcox:
Composing Our Own Guitar Amps From Inherited Gear
This post explores inheritance and composition as a way to build and share behavior in a system to model guitar amplifiers. https://kevinjmurphy.com/posts/composing-our-own-guitar-amps-from-inherited-gear/
Rails Pagination with the Kaminari Gem
Check out Rails Pagination with the Kaminari Gem
Humane Rails Forms
I got tired of dealing with rigid form validations, so I created the inputomatic gem that makes “fuzzy” form inputs in Rails like “1 week ago”, “Last Monday” for dates and “129/2”, “(200/3)-10” possible and wrote about it at
Llamachat: Simple Local ChatGPT-style Web Client
Llamachat: Sinatra backed local web client for my Llamaste gem, which allows interacting with any llama.cpp compatible model in browser. Streams tokens back over websockets for real-time generation speed.
Announcing sidekiq-expiring-jobs - a gem that adds expiring jobs support to Sidekiq
I released a new gem - [more inside]
Audit Logging in Ruby and Rails
Let’s explore some options to implement audit logs, including PaperTrail, Audited, AuditLog, AppSignal, and a custom implementation.
How to use Flipper for feature flags in Rails
Feature flags are used all across the tech industry to test code at scale; this article explores how to integrate them into your Ruby on Rails application using the Flipper gem.