Всем привет.
В классе определен приватный метод
method
Если я его вызываю из публичного метода экземпляра этого же класса в виде
self.method
, то получаю ошибку (Private method `method' called ). Если же я пишу просто
method
, то все работает.
По логике я вижу, что self.method вызывает этот метод "снаружи" класса, но хотелось бы в документации прочитать. Сам не нашел поиском.
Пример кода:
class Entity
def do_something
private_method
end
def do_something2
self.private_method
end
private
def private_method
puts 'works'
end
end
entity = Entity.new
entity.do_something
entity.do_something2
вывод:
works
1.rb:7:in `do_something2': private method `private_method' called for #<Entity:0x007f93c0003358> (NoMethodError)
Did you mean? private_methods
from 1.rb:18:in `<main>'
Заранее спасибо.