In Ruby (und noch mehr: Rails) ist einfach Methoden als veraltet markieren .
Aber wie kann ich eine ganze Klasse als veraltet markieren? Ich möchte eine Warnung ausgeben, wenn eine Klasse verwendet wird:
%Vor%Oder wenn es in der Vererbung verwendet wird:
%Vor%Oder in verschachtelten Klassen:
%Vor% Ich würde denken, dass dies ein class_eval
-Block wäre sei der Ort, an dem man eine solche Warnung anbringen kann. Ist das der richtige Ort? Oder gibt es bessere Methoden?
Sie können const_missing
verwenden, um Konstanten und damit Klassen zu verwerfen.
const_missing
wird aufgerufen, wenn auf eine nicht definierte Konstante verwiesen wird.
Dies ermöglicht, dass vorhandener Code, der auf MyModule::BillingMethod
verweist, weiterhin funktioniert und warnt den Benutzer vor der Verwendung der veralteten Klasse.
Es ist das Beste, was ich bisher für den abwertenden Klassenzweck gesehen habe.
Vielleicht möchten Sie sich Deprecate
welches Teil von Rubys Standard Library ist:
Die Verwendung der Methode deprecated
würde zu einer Warnung wie folgt führen:
Tags und Links ruby deprecation-warning