Напримерв ruby, можно ли переопределить контекст выполнения добавленного метода?
class Foo
def bar
end
end
В этом коде, бар будет доступен только в пределах любого экземпляра класса.
Можно ли изменить контекст выполнения метода на Eigenclass
, не изменяя способ определения самого метода, чтобы теперь метод был доступен как одноэлементный, без необходимости звонить self.new
?
Предпочтительно, я хотел бы сделать это любым из кода, который делает это для кода, который добавляется через класс, который Foo
может наследовать.
В настоящее время, что я делаю составляет:
class Test
def method_added method
self.define_singleton_method method do
self.new.send method
end
end
end
и за то, что мне нужно это не работает, как я меняю контекст выполнения, вызвав new
.
Я не думаю, что работает в объектах класса. – Thermatix
Вы пробовали? – BroiSatse
Да, это просто ошибки с 'undefined method 'module_function' для теста: Class:' – Thermatix