Поначалу защищенный контроль доступа в Ruby может сбить с толку.Проблема в том, что вы часто читаете защищенные методы в Ruby и могут вызываться только явным получателем «self» или под экземпляром класса «self», каким бы ни был этот класс.И это не совсем так.
Реальная сделка с методами, защищенными Ruby, заключается в том, что вы можете вызывать защищенные методы только с явным получателем в «контексте» экземпляров класса или подклассов, которые вы 'мы определили эти методы в. Если вы попытаетесь вызвать защищенный метод с явным получателем в контексте, который не является классом или подклассами, где вы определили методы, вы получите ошибку.