Привет, я могу с ходу назвать 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
Но возникает резонный вопрос: а оно действительно надо? Как сказали выше - отлаживать всю эту магию очень сложно. К тому же, благодаря этому можно очень сильно усложнить понимание кода.