In Ruby (e ancora di più: Rails) È easy to mark methods as deprecated.Come contrassegnare una classe come deprecata in Ruby?
ma come posso segnare un'intera classe come deprecato? Voglio sollevare un avviso ogni volta che si utilizza una classe:
class BillingMethod
end
BillingMethod.new #=> DEPRECATION WARNING: the class BillingMethod is deprecated. Use PaymentMethod instead.
O quando viene utilizzato in eredità:
class Sofort < BillingMethod
end
Sofort.new #=> DEPRECATION WARNING: the class BillingMethod is deprecated. Use PaymentMethod instead.
Oppure, se usato in classi nidificate:
class BillingMethod::Sofort < BillingMethod
end
BillingMethod::Sofort.new #=> DEPRECATION WARNING: the class BillingMethod is deprecated. Use PaymentMethod instead.
I penseremmo che un blocco-class_eval
sarebbe il posto in cui attaccare un tale avvertimento. È il posto giusto? O ci sono metodi migliori?
Nel tuo esempio, come si dovrebbe eseguire 'const_missing', quando lo hai definito appena sopra? – berkes
@berkes la prima parte non dovrebbe essere lì, errore di battitura –
Nel metodo 'const_missing', qual è la paymentmethod \' n FINE' esattamente ottenendo lì? – berkes