Powiedz, że piszę moduł mixin, który dodaje funkcjonalność do klasy innej firmy. Oczywiście niektóre metody i zmienne instancji, które chcę udostępnić klasie trzeciej i jej klientom. Stanowią one publiczny interfejs modułu mixin.Jak napisać higieniczny mix Rubin?
Ale chcę, aby niektóre inne metody i zmienne instancji zostały hermetyzowane. Nie chcę, żeby były dostępne dla klasy, w której się mieszam, a w szczególności nie chcę, aby przypadkowo przesłoniły, zaciągnęły cień, zaatakowały lub w inny sposób zakłócały metody lub zmienne instancji klasy mixee - albo te które obecnie mogą istnieć lub te, które mogą zostać utworzone w przyszłości, jeśli strona trzecia modyfikuje klasę, w której się mieszam.
Jakie środki ostrożności należy podjąć, jeśli w ogóle, aby upewnić się, że mój mixin jest "higieniczny" w ten sposób?