Как за метапрограммировать или как просто запрограммировать автодобовление методов (attr_accessor)?
Привет, я могу с ходу назвать 2 способа как это можно сделать.
Первый способ - использовать метод __send__:class Success
  def new_accessor(attribute)
    self.class.__send__(:attr_accessor, attribute)
  end
end
Второй способ - использовать class_eval:class Success
  def new_accessor(attribute)
    self.class.class_eval { attr_accessor attribute }
  end
end
Но возникает резонный вопрос: а оно действительно надо? Как сказали выше - отлаживать всю эту магию очень сложно. К тому же, благодаря этому можно очень сильно усложнить понимание кода.
Вопрос - а нужно ли? В серьезном проекте запросто может добавить лишнего гемора при отладке и поддержке.