Launching Multiple Processes with a Single Command in Rails An application doesn’t exist in isolation. Usually, it depends on other processes to work correctly, such as a database, JavaScript / CSS compilers, Redis, etc.
class_eval vs. instance_eval in Ruby This post explains the difference between class_eval and instance_eval methods in Ruby. If you keep getting confused between them when reading or writing
How to Setup Tailwind 3 on Rails Update: Tailwind documentation has since added the installation steps with Rails. Even though the official Tailwind documentation has installation instructions for various client-side frameworks, it
Couldn't Find Handler For: puma, thin, falcon, webrick This morning, I was trying to learn Rack and how Rails uses it. So I created a new gem using the bundle gem command. Then
All the Database Tasks in Rails Once you start programming in Rails, you inevitably come across db:migrate, which applies the migration to your database. Then you make a mistake and
How to Drop a Table in Rails So you created a migration to add a table that you thought you were going to need. You also ran that migration so that table
How to Debug Ruby Code For a long time, I delayed learning Ruby as I didn’t know how to debug Ruby code. Coming from a .NET background, I was
How to Test Rails Source Code One of the best ways to understand any codebase is to read the tests, and Rails is no exception. In this post, we will learn
Include and Extend Here’s a neat trick I learned today. Typically, when a class includes a module, the module methods become instance methods on the including class.
Modifying Objects in Place Every time you create or copy something in memory, you add work for GC. Here are some tips from the book Ruby Performance Optimization to
Class Metaprogramming in Ruby A Ruby class definition is just regular code that runs. When you use the class keyword to create a class, you aren’t just dictating
How to Implement Callbacks in Ruby There are at least three places in Ruby where you can package code to be executed later. In a block, a proc/lambda, and a