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
Note: Only the first pargraph is shown on the front page and overly long paragraphs may be broken up.
Authorization Gems in Ruby: Pundit and CanCanCan
Let’s take a look at Pundit and CanCanCan, two of the most popular authorization gems in Ruby: https://blog.appsignal.com/2023/03/22/authorization-gems-in-ruby-pundit-and-cancancan.html
Parklife turns any Rack app (Rails, Sinatra, Hanami, Roda, Camping) into a static HTML build ready to be hosted on GitHub Pages, Netlify, Now, S3, or any other web server. Keep working with the frameworks you already know and love but instead of deploying and managing a server-side Ruby app generate a static build that can live indefinitely with no maintenance cost. https://www.benpickles.com/articles/90-introducing-parklife
MRSK vs Fly.io
https://fly.io/ruby-dispatch/mrsk-vs-flyio/ compares MRSK, a new Docker-based deployment tool DHH has been working on, with Fly.io, a Docker-base cloud. MRSK takes about 30 steps to spinup, provision, & deploy an app vs Fly.io’s ~10 steps.
Time-Series Data With Ruby on Rails and Postgres
You can get pretty far with just regular old Rails and Postgres to handle your time-series data and graphs: https://census.dev/blog/time-series-data-with-ruby-on-rails-and-postgres
AnyCable off Rails: connecting Twilio streams with Hanami
In this new post on the Martians blog, Head of Backend Vladimir Dementyev and Backend Engineer Pasha Kalashnikov show how the AnyCable-Go library can be used to control any WebSocket client. [more inside]
Glimmer DSL for SWT 22.214.171.124 Released
Glimmer DSL for SWT 126.96.36.199 has just been released! [more inside]
Features Your Editor Should Have With Amir Rajan | Rubber Duck Dev Show 78
In this episode, we discuss features your editor or IDE should have with Amir Rajan: https://www.rubberduckdevshow.com/episodes/78-features-your-editor-should-have-with-amir-rajan/
Programming Guitar Greatness
Domain modeling is a tough and vast topic. I think hard and fast rules are difficult to come by. There are definitely guidelines and principles you can use though. I’ve compiled some of my favorites to code a system to play the guitar like one of my favorite guitarists. https://kevinjmurphy.com/posts/programming-guitar-greatness/
Ruby monkey patching. An introduction
Monkey patching is a technique used in Ruby programming to modify or extend the behaviour of existing classes or modules at runtime. It involves adding, removing or modifying methods and attributes of existing classes or modules at runtime, without actually changing the source code of the original class or module. https://medium.com/@real_wyodeb/ruby-monkey-patching-an-introduction-d1328fc99da7
ChatGPT materialized as GUI via Ruby & Glimmer DSL for LibUI
Apparently, ChatGPT has materialized in our world as a GUI (Graphical User Interface) via Ruby and Glimmer DSL for LibUI. [more inside]
Working With Markdown in Ruby
This article explores how to use markdown in Ruby. Learn how to use two popular Ruby libraries—Redcarpet and Kramdown—to parse markdown and create a simple documentation app using Redcarpet and Sinatra. https://www.honeybadger.io/blog/ruby-markdown/
A Generalized User-local Container for UI State in Kredis
In the second and final part of this series, we’ll develop a generalized user-local container for UI state in Kredis: https://blog.appsignal.com/2023/03/15/a-generalized-user-local-container-for-ui-state-in-kredis.html
No more N+1. Period.
I encourage you to stop using the Ruby on Rails built-in solution for resolving the N+1 problem and switch to automatic preloading. Are you surprised it’s possible? Check it by yourself: https://evgeniydemin.medium.com/automatic-preloading-in-rails-the-dream-that-came-true-80ed4982ce2d
From a Rails app print logs in the Chrome console
https://github.com/railsjazz/railsochrome how to print your log messages from the Rails app in the Chrome console. [more inside]
Monetizing Your Developer Content With Seb Wilgosz & Lucian Ghinda | Rubber Duck Dev
In this episode, we discuss how to monetize your developer content with Seb Wilgosz & Lucian Ghinda: https://www.rubberduckdevshow.com/episodes/77-monetizing-your-developer-content-with-seb-wilgosz-lucian-ghinda/
Trending Ruby repositories
https://opensource-heroes.com/discover/ruby list of trending repositories
VideoInfo - New release with statistics and more!
We just released 🚀 a new version of VideoInfo (
v4.0.0) with some new cool features (like a new method that returns statistics about the videos), some performance improvements and a lot of internal improvements. Hope you find it useful! [more inside]
Translating XML/Epub using DeepL & ChatGPT
The natsukantou & epub-translator gems can translate XML and Epub respectively. They are more than just wrappers to DeepL/ChatGPT, but instead utilize various techniques to facilitate a better customization and user experience. This blog post covers those, such as middleware, comment reflection and command-line wizard.