La métaprogrammation est l'écriture de code qui écrit ou modifie du code à l'exécution — définir des méthodes dynamiquement, répondre à des méthodes non définies, et inspecter/altérer des classes à la volée. La nature dynamique de Ruby (tout est un objet, y compris les classes) le rend exceptionnellement doué pour la métaprogrammation, qui alimente une grande partie de la « magie » de Rails.
Définir des méthodes dynamiquement
[, , ].each ||
(attribute)
instance_variable_get()
() ||
instance_variable_set(, value)
