Здравствуйте. Подскажите пожалуйста, что-то никак не могу разобраться. Приватный метод для записи отрабатывает все нормально, а приватный метод для чтения вызывает ошибку?
test.rb:8:in `read': private method `session_lang' called for #<Tst:0x000000000302e4e8>
class Tst
def write
self.session_lang = 'ru'
end
def read
self.session_lang
end
private
def session_lang
p 'read'
end
def session_lang= (value)
p 'write'
end
end
tst = Tst.new
tst.write
tst.read
Если вызывать для метод чтение без self, то он работает
def read
self.session_lang
end
Если вызывать метод для записи без self, тогда вызывается не метод, а просто переменной присваивается значение
def write
session_lang = 'ru'
end
Просто в реальном кейсе, у меня что-то наподобие, но когда методы приватные, то ошибка
def write
self.session_lang ||= 'ru'
end
Спасибо.