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.
Building, Testing, and Deploying Google Cloud Functions With Ruby
Google’s Cloud Functions let developers run their code in production in a scalable way without worrying about the minutiae of server administration. In this article, Subomi shows walks us through building a real-world service using GCF. https://www.honeybadger.io/blog/building-testing-and-deploying-google-cloud-functions-with-ruby/
What is request queue time?
Request queue time is a key metric for understanding web app performance and scaling. This post explains what it is, how it’s calculated, and how you can use it to effectively optimize your app.
Rubber Duck Dev Show Episode 17 | Practicing Continuous Integration & Deployment
Hear two rubyists discuss how to practice continuous integration (CI) and continuous deployment (CD): https://www.rubberduckdevshow.com/episodes/17-practicing-continuous-integration-deployment/
How to create seamless modal forms with Turbo Drive
Turbo Frames inspired us to ask for a piece of html to work regardless if it is rendered on it’s own page, or as part of another page. I’m borrowing the same idea to apply it to modals. Goal is to not introduce any changes to the backend code (no Turbo Streams), but still be able to submit forms and see validation errors. [more inside]
Preloading Rails applications in production
When it’s time to take your application online, there are several decisions to make. Today I would like to talk about application preloading and explain why I prefer preloading applications in production.
The Era of Bridgetown v1 Has Begun. Welcome to the “Pearl”
Named after the famed Pearl District on Portland’s west side, I’m pleased to announce the first public alpha release of Bridgetown 1.0 (technically 1.0.0.alpha5). v1 is chock full of major advancements for the platform. In addition, we’ve launched a dedicated fundraising site for Bridgetown. We hope you join the campaign to push v1 over the finish line, and please help us spread the word so other interested Rubyists and web developers may contribute as well.
How to use jQuery & jQueryUI with Esbuild
Want to use older Javascript libraries like jQuery with modern JS bundlers like Esbuild? There are some tricks like learning about import hoisting, but it’s easier than you might think. See how to use jQuery & jQueryUI with Esbuild
Rack Middlewares using Ruby on Rails
This post describes what Rack is and how to write Rack Middlewares using Ruby on Rails. It uses common Rails Client-Service Middleware Production examples.
Complete testing of sidekiq jobs
I wrote a blog post for end-to-end testing of async sidekiq jobs: [more inside]
CryptoPunks GUI by Glimmer DSL for Tk
This is a Graphical User Interface for the famous Cryptopunks Ruby gem, built with Glimmer DSL for Tk. [more inside]
How Polywork uses Hotwire & Turbo Native to build quickly
The Polywork team joined us on the Remote Ruby podcast to talk about their experience building apps with Hotwire, how it’s helped their development process, and how it works building Turbo Native apps. Listen to the Remote Ruby podcast with Polywork
Ruby's Got You Covered
Ruby’s coverage module includes many options that can answer different questions about your code. This article explores the modes that the module provides.
Manga2PDF GUI by Glimmer DSL for LibUI
Manga2PDF is a simple Ruby app to download manga and merge the images into a single pdf file. Available in both CLI and GUI. The GUI is written with Glimmer DSL for LibUI. [more inside]
Glimmer DSL for SWT Doubles in Gem Downloads in The Last 3 Months
It was only 3 months ago when I announced that it has been a year since the glimmer-dsl-swt gem was split from glimmer, and it had already gotten 39k downloads. Shockingly enough, 3 months later, the number more doubled! It is 82k now! [more inside]
cryptopunks gem v2.0, The Shell Edition - What’s New? New Commands Incl. Generate, ..
Hello, The cryptopunks gem and command line tool v2.0 is now out!
What’s new? New punk commands include generate (or gen or g), list
(or ls or l), query (or q) and tile (or t). Try: $ punk -h # or punk help
resulting in […]. PS: Halloween is upcoming. Try some super-rare never-before-seen
demons or vampires. Example: $ punk generate demon heart_shades or $ punk generate vampire_female wild_hair
Explaining Ruby Fibers
Fibers have long been a neglected corner of the Ruby core API, have never really seemed to deliver on their promise of lightweight concurrency, and remain relatively little explored. In this article I’ll explain how fibers work from the point of view of a concurrent Ruby application written using Polyphony. I’ll give an overview of fibers as concurrency constructs, and discuss how Polyphony harnesses Ruby fibers in order to provide an idiomatic and performant solution for writing highly-concurrent Ruby apps. Read on…
The secret of stunning OSS contributions!
I’ve just shared what I believe is a secret to get stunning Open-Source contributions! Check it out! [more inside]
Optimistic Locking in Rails REST APIs
Implement optimistic locking in Rails APIs to avoid potentially critical issues. [more inside]
Git Bisect: travel through time and bugs
No matter how thorough your test coverage is, you can’t test everything. So when you introduce a bug in your application, knowing how to use git bisect will help you zero in on your regression’s origin.
Upgrade to Stimulus 3, say bye to IE11, and celebrate 🎉
Upgrading to Stimulus 3 requires targeting your JS code to ES6 which means no IE support any more. The post suggests a few precautions so that you can celebrate this, too. [more inside]
Rubber Duck Dev Show Episode 16 | When Should You Comment Your Code
Hear two rubyists discuss when you should comment your code: https://www.rubberduckdevshow.com/episodes/16-when-should-you-comment-your-code/