Metaprogrammierung bedeutet, Code zu schreiben, der zur Laufzeit Code schreibt oder verändert — Methoden dynamisch definieren, auf undefinierte Methoden reagieren sowie Klassen on the fly untersuchen und anpassen. Rubys dynamische Natur (alles ist ein Objekt, einschließlich der Klassen) macht es außergewöhnlich gut für Metaprogrammierung geeignet, die einen Großteil der "Magie" von Rails antreibt.
Methoden dynamisch definieren
[, , ].each ||
(attribute)
instance_variable_get()
() ||
instance_variable_set(, value)
