Результаты поиска
Найдено результатов: 1
Есть ли способ вызвать закрытый метод класса из экземпляра в Ruby?
Кроме self.class.send :method, args..., конечно. Я хотел бы сделать довольно сложный метод доступным как на уровне класса, так и на уровне экземпляра, не дублируя код.
UPDATE :
Бранам: это было мое предположение, но я хотел убедиться, что никто другой не нашел обходного пути. Видимость в Ruby сильно отличается от таковой в Java. Вы также совершенно правы, что private не работает с методами класса, хотя это объявит частный метод класса:
class Foo
class <<self
private
def bar
puts 'bar'
end
end
end
Foo.bar
# => NoMethodError: private method 'bar' called for Foo:Class