Metaprogramavimas yra kodas, kuris rašo arba modifikuoja kodą vykdymo metu — dinamiškai apibrėžiant metodus, reaguojant į neapibrėžtus metodus bei inspektuojant/keičiant klases skrendančiu metu. Ruby dinaminis pobūdis (viskas yra objektas, įskaitant klases) daro ją išskirtinai gerą metaprogramavimui, kuris suteikia daug Rails "magijos".
Metodų dinaminis apibrėžimas
[, , ].each ||
(attribute)
instance_variable_get()
() ||
instance_variable_set(, value)
