Metaprogramming είναι η γραφή κώδικα που γράφει ή τροποποιεί κώδικα κατά την εκτέλεση — ορίζοντας μεθόδους δυναμικά, αποκρινόμενος σε αόριστες μεθόδους, και επιθεωρώντας/τροποποιώντας κλάσεις εν κινήσει. Η δυναμική φύση της Ruby (όλα είναι αντικείμενα, συμπεριλαμβανομένων των κλάσεων) την κάνει εξαιρετικά καλή για metaprogramming, η οποία τροφοδοτεί μεγάλο μέρος της "μαγείας" του Rails.
Ορισμός μεθόδων δυναμικά
[, , ].each ||
(attribute)
instance_variable_get()
() ||
instance_variable_set(, value)
