Вы можете динамически определить метод класса для такого класса:
class Foo
end
bar = %q{def bar() "bar!" end}
Foo.instance_eval(bar)
Но как вы делаете обратное: удалить/не определить метод класса? Я подозреваю, что для этой цели могут быть использованы методы Module remove_method
и undef_method
, но все примеры, которые я видел после Googling в течение нескольких часов, были для удаления/исключения методов экземпляра, а не методов класса. Или, возможно, есть синтаксис, который вы можете передать в instance_eval
, чтобы сделать это.
Спасибо заранее.