მეტაპროგრამირება არის კოდის დაწერა, რომელიც წერს ან ცვლის კოდს გაშვების დროს — მეთოდების დინამიურად განსაზღვრა, განუსაზღვრელი მეთოდების დამუშავება და კლასების შინაარსის შემოწმება/შეცვლა ფრენაზე. Ruby-ის დინამიური ბუნება (ყველაფერი ობიექტია, მათ შორის კლასებიც) მას გამორჩეულად კარგს ხდის მეტაპროგრამირებისთვის, რაც Rails-ის დიდი ნაწილის "ჯადოს" კვების საფუძველია.
მეთოდების დინამიური განსაზღვრა
[, , ].each ||
(attribute)
instance_variable_get()
() ||
instance_variable_set(, value)
