Ruby /
Metaprogramming
Метапрограммирование - это техника программирования через набор методов, которые Ruby предлагает для написания кода, динамически генерирующего другой код. Метапрограммирование работает не с данными, а с другим кодом. Это может помочь в DRY-оптимизации частей кода, динамическом определении необходимых методов, а также в написании полезных и многократно используемых фрагментов программного обеспечения (например, гемов).
Так как, любое написание программы на руби состоит из определения и последующего использования таких конструкций как - классы, модули, методы и переменные, то и динамическое создание кода так же состоит из оперирования этими конструкциями.