Contributions

Article
🦇 Laundry day at the Batcave. Testing asynchronous threads in Ruby explained.
Tutorial
Today, because we love to 🔨 pry things open 🔦: The innards of a RubyGem 💎.
Tutorial
Remember our crazy adventure in which we injected functionality to a class by changing the way Ruby creates objects? This week, we’re turning that into a `Wrappable` module to learn all about class-level instance variables. 🧙🏼‍♀️
Article
This week in AppSignal Academy: the difference between explicit casting (with `#to_s`) and implicit coercing (with `#to_str`) in Ruby, and the difference between typecasting Leonard Nimoy and Michael Keaton. 🖖🦇
Article
In Ruby Magic we love to dive into the magic behind the things we use every day to understand how they work. In this edition, we’ll explore the differences between blocks, procs and lambdas.
Article
Explore how Ruby creates and initializes objects, and how we can modify the default behavior in this edition of Ruby Magic!
Article
Random numbers are useful for a variety of purposes such as in gaming, encryption and building simulations. In this article, we'll look at the various ways you can generate random numbers in Ruby.
Article
In Ruby Magic #14, we'll look into the difference between "slurping" and streaming files in Ruby. Along the way, we'll learn about I/O, and *how* Ruby reads files line by line without slurping the whole file content into memory.
Tutorial
Almost everything in Ruby is an object, and errors are no exception. Learn to create your own exceptions in AppSignal Academy.
Article
Running a read-heavy Rails blog? This episode of AppSignal Academy is all about ActiveRecord’s counter caches. Less queries, more callbacks!
Article
You might know the retry keyword. Its little-known counterpart redo works similarly, but reruns loop iterations instead of whole blocks.
Article
Did you know Turbolinks 5 is a pure-javascript library that works on any HTML page (even without Rails, like on static pages)? This week, AppSignal Academy is all about speeding up navigation in your apps.
Article
Besides rescue, Ruby has more ways to handle exceptions. We’ll use the retry and ensure keywords and reraised exceptions to build a resilient web API client.