Metaprogrammering er at skrive kode, der skriver eller modificerer kode ved runtime — definerer metoder dynamisk, reagerer på udefinerede metoder og inspicerer/ændrer klasser på stedet. Rubys dynamiske natur (alt er et objekt, herunder klasser) gør den usædvanlig god til metaprogrammering, som driver meget af Rails' "magi".
Definition af metoder dynamisk
[, , ].each ||
(attribute)
instance_variable_get()
() ||
instance_variable_set(, value)
