Metaprogramming भनेको runtime मा code लेख्ने वा परिवर्तन गर्ने code लेख्नु हो — methods लाई dynamically परिभाषित गर्ने, undefined methods को response दिने, र classes लाई fly मा inspect/alter गर्ने। Ruby को dynamic nature (सबै कुरा object हो, classes समेत) ले यसलाई metaprogramming मा exceptionally राम्रो बनाउँछ, जसले Rails को धेरै "magic" लाई शक्तिशाली बनाउँछ।
Methods लाई dynamically परिभाषित गर्दै
[, , ].each ||
(attribute)
instance_variable_get()
() ||
instance_variable_set(, value)
