Me falta algo acerca de cómo las personas hacen esto en Ruby.¿Cómo se accede a métodos de clases protegidos desde métodos de instancia en Ruby?
Si '#protected' es sin comentar obtenemos:
en 'qué': protected método 'ZOOP' llamó a Foo: Clase (NoMethodError)
¿Hay una mejor manera de acercarse a los métodos de clases protegidas?
class Foo
class << self
#protected
def zoop
"zoop"
end
end
public
def what
"it is '#{self.class.zoop}'"
end
protected
end
a = Foo.new
p a.what # => "it is 'zoop'"
me gustaría zoop a proteger o privada (sin llamada 'Foo.zoop'), pero hasta ahora, no puedo parecer encontrar una manera elegante.
¿Hay una suposición subyacente de que las instancias de una clase deberían tener un acceso más íntimo a los métodos de singleton de la clase que otros objetos? –
De hecho. Y bien dicho. –