Ich muss einige Instanzmethoden privat nach Registrierung dieses Objekts in einem anderen Objekt machen.Machen Instanzmethoden privat in der Laufzeit
Ich möchte das Objekt nicht einfrieren, weil es editierbar bleiben muss, nur mit weniger Funktionalität. Und ich möchte die Methoden nicht unkenntlich machen, da sie intern verwendet werden.
Was ich brauche, ist so etwas wie:
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"
Irgendwelche Ideen?
Dies beantwortet meine Zweifel: "Was ist öffentlich und was privat ist pro Klasse.". Ich denke, ich muss andere Alternativen erkunden. –