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.
CI/CD Pipelines: A Gentle Introduction
Learn about the purpose and basic building blocks of CI/CD pipelines, with examples and an overview of best practices. Read on the Semaphore blog »
Gem of the Week - hexapdf - Read & Write PDF Documents; Merge, Extract, Optimize...
Hello, I’m restarting (and updating) the Gem of the Week Series that highlights a new ruby library every week on Thursdays. Let’s welcome the hexapdf gem / library and command line tools - read and write PDF documents; start from zero or merge, extract, optimize and much more. Thanks to Thomas Leitner for the write-up (and the great gem). Happy coding with ruby. Cheers. Prost.
What causes Ruby memory bloat?
Ruby apps can use a lot of memory. But why? Various people in the community attribute it to memory fragmentation, and provide two “hacky” solutions. Dissatisfied by the current explanations and provided solutions, I set out on a journey to discover the deeper truth and to find better solutions.
AMA with Aaron Patterson
Core RoR member and GitHub engineer Aaron Patterson is hosting an AMA session on Hashnode today.
About Ruby Certification
I’ve recently took ruby certification tests and considering that there are very little info about them decided to wrote a blog-post. Read on if you wondering if they’re actually any good.
Rails 6 adds delete_by and destroy_by as ActiveRecord::Relation methods
Rails has find_or_create_by, find_by and similar methods to create and find the records matching the specified conditions. Rails was missing similar feature for deleting/destroying the record(s). This blog covers how this problem was solved in Rails 6.
new Rails 6 feature: SQL efficient bulk insert/upsert
https://github.com/rails/rails/pull/35077 was finally merged. You can find more details in my blog post.
Might be useful gem in development (and prod)
gem which allows executing custom SQL queries directly in rails console or in any other parts of the app.
Simple Rails & AWS Lambda Integration using Rack
Introducing Lamby. Simple Rails & AWS Lambda Integration using Rack. The goal of this project is to provide minimal code along with comprehensive documentation to get your Rails application running under AWS Lambda.
A little guide to converting jQuery to Stimulus
I’ve been refactoring my existing apps from jQuery snippets to Stimulus controllers, and I thought it’d be helpful to put down some of the patterns I found.
Building a Slack App using Ruby and Sinatra
Creating a Surf forecasting tool using Slack Slash Commands and Actions.
Code Your Own (Crypto Blockchain) Contracts w/ Ruby (sruby), Universum & Co
Hello, World premiere! The talk notes titled “Contracts, Contracts, Contracts - Code Your Own (Crypto Blockchain) Contracts w/ Ruby (sruby), Universum & Co” from the world’s first official (secure) ruby talk at last nights Vienna Ruby (Crypto) meetup incl. What’s a (Smart) Contract? ++ History of Contract-Oriented Programming Languages (on the Blockchain) ++ 10 Contract Examples and more. Happy coding with (secure) ruby. Cheers. Prost.
Ruby scheduled tasks with RabbitMQ using bunny gem
How to setup ruby retry/scheduled task queues with dead letter exchanges in RabbitMQ using bunny gem.
Hate speech detection open source
Hi there, I just added hate speech detection to my site analytics platform. Please star it if you like it:)
How to use ActionText custom attachments in Rails 6
Rails 6 introduces ActionText which is a way to edit and display rich text. We can use it to create @mentions and other features as custom attachments to reference models in our app. When a model changes (like a user changes their avatar) our rich text automatically updates. Watch how to build @mentions with ActionText in Rails 6
units-time library / gem v1.0 - units of time (in epoch time) for secure ruby (sruby)
Hello, I’ve put together a “standalone” library / gem for units of time (in epoch time) incl. seconds, minutes, hours, days, weeks, fortnights, years and more. The units-time library / gem includes two new types too, that is, Timestamp and Timedelta. Happy coding with (secure) ruby. Cheers. Prost. PS: The new units-time 1.0 library is part of the safe data structures series.
Unicode::X 12
Unicodex is a way to work with the latest version of Unicode. It currently supports detecting emoji, comparing confusable strings, extracting the numerical value of a codepoint and more. Do you have ideas to make it even more useful? Happy to get feedback.
"99 Bottles of OOP" book review
Review of Object-Oriented Design book “99 Bottles of OOP” by Sandi Metz and Katrina Owen. [more inside]
How to setup Ruby Object Mapper (ROM) for standalone project
Detailed guide on how to setup Ruby Objec Mapper(rom-rb) for stand-alone project without frameworks.
Web site analytics and lead generation open source
I have just open sourced the Web Without Borders code. You can use it to analyze websites for site speed, link analytics, hate speech detection, web accessibility and more.
A gem that displays a backtrace for each ActiveRecord SQL query
The ActiveRecord Query Trace gem displays a backtrace for each query that appears in Rails’ development console and log. Useful for performance optimizations and for finding where to start when making changes to a large application.
Awesome Rubies Updated (Now Incl. mruby/c, sruby (s6), and More)
Hello, I’ve updated the Awesome Rubies page that collects compilers, interpreters, virtual machines, parsers, doc generators, version managers, and more. What’s news? Let’s welcome mruby/c, sruby (s6) and more. Anything missing? Let us know. Happy coding with rubies. Cheers. Prost.
Chrome as a service for Rails system testing
Since it is more and more painful to install awesome capybara-webkit I have started to look around for some reasonable replacement. My requirements are really simple. It must be really easy to use it locally for developers and it should be possible to run it in containerized environment (Docker on CI in my case). Result? See .
Interview with Javan Makhmali and Sam Stephenson from Basecamp
In this episode of Remote Ruby, Javan Makhmali and Sam Stephenson join Jason and Chris. Sam and Javan are employees at Basecamp and also part of the mastermind behind many JavaScript libraries to come out of Basecamp: Turbolinks, Trix, and Stimulus. They each share how they got started programming, a brief insight into how they work at Basecamp, the transition from CoffeeScript to ES6, Typescript, as well as (wait for it…) upcoming features in Stimulus (🙌) and considerations for Turbolinks 6 (no feature promises made 😉). It was an absolute joy to chat with Javan and Sam. We very much enjoyed this episode and hope you will enjoy it, too. [more inside]