W Ruby (a nawet więcej: Rails) jest to easy to mark methods as deprecated.Jak oznaczyć klasę jako przestarzałą w Ruby?
Ale jak mogę oznaczyć całą klasę jako przestarzałą? Chcę podnieść ostrzeżenie, gdy jest używana klasa:
class BillingMethod
end
BillingMethod.new #=> DEPRECATION WARNING: the class BillingMethod is deprecated. Use PaymentMethod instead.
lub gdy przyzwyczaja się dziedziczenia:
class Sofort < BillingMethod
end
Sofort.new #=> DEPRECATION WARNING: the class BillingMethod is deprecated. Use PaymentMethod instead.
Albo, gdy wykorzystywane w zagnieżdżonych klas:
class BillingMethod::Sofort < BillingMethod
end
BillingMethod::Sofort.new #=> DEPRECATION WARNING: the class BillingMethod is deprecated. Use PaymentMethod instead.
I pomyślałabym, że to miejsce, w którym należy umieścić takie ostrzeżenie. Czy to właściwe miejsce? A może istnieją lepsze metody?
W twoim przykładzie, w jaki sposób byłby uruchamiany 'const_missing', kiedy zdefiniowałeś go powyżej? – berkes
@berkes pierwsza część nie powinna tam być, literówka –
W metodzie 'const_missing', co dokładnie oznacza' PaymentMethod \ n end'? – berkes