Glance at any Ruby program, and you’ll see objects everywhere. Do a double take, and you’ll see that objects are citizens of a larger world that also includes other language constructs, such as classes, modules, and instance variables. Metaprogramming manipulates these language constructs, so you need to know a few things about them right off the bat.
You are about to dig into the first concept: all these constructs live together in a system called the object model. The object model is where you’ll find answers to questions such as “Which class does this method come from?” and “What happens when I include this module?” Delving into the object model, at the very heart of Ruby, you’ll learn some powerful techniques, and you’ll also learn how to steer clear of a few pitfalls.
Monday promises to be a full day, so silence your messaging app, grab a donut, and get ready to start.