Ho bisogno di rendere privati alcuni metodi di istanza dopo aver registrato quell'oggetto in un altro oggetto.Rendi privati i metodi di istanza in runtime
Non voglio bloccare l'oggetto perché deve rimanere modificabile, solo con meno funzionalità. E non voglio disfare i metodi poiché sono usati internamente.
Che cosa ho bisogno è qualcosa di simile:
class MyClass
def my_method
puts "Hello"
end
end
a = MyClass.new
b = MyClass.new
a.my_method #=> "Hello"
a.private_instance_method(:my_method)
a.my_method #=> NoMethodError
b.my_method #=> "Hello"
Tutte le idee?
Questo risponde al mio dubbio: "Ciò che è pubblico e ciò che è privato è per classe". Credo di dover esplorare altre alternative. –