Metaprogramarea este scrierea de cod care scrie sau modifică cod la runtime — definind metode dinamic, răspunzând la metode nedefinite și inspectând/alterând clase pe viu. Natura dinamică a Ruby-ului (totul este un obiect, inclusiv clasele) o face excepțional de bună la metaprogramare, care alimentează o mare parte din "magia" Rails.
Definirea metodelor dinamic
[, , ].each ||
(attribute)
instance_variable_get()
() ||
instance_variable_set(, value)
