Metaprogramming là viết code mà viết hoặc sửa đổi code tại thời điểm chạy — định nghĩa method một cách động, phản hồi các method chưa được định nghĩa, và kiểm tra/thay đổi class ngay lập tức. Bản chất động của Ruby (mọi thứ đều là object, bao gồm cả class) khiến nó cực kỳ giỏi metaprogramming, vốn làm động lực cho phần lớn "phép màu" của Rails.
Định nghĩa method một cách động
[, , ].each ||
(attribute)
instance_variable_get()
() ||
instance_variable_set(, value)
