В Ruby (и тем более в Rails) легко помечать методы как устаревшее.
Но как я могу пометить весь класс как устаревший? Я хочу поднять предупреждение всякий раз, когда используется класс:
class BillingMethod
end
BillingMethod.new #=> DEPRECATION WARNING: the class BillingMethod is deprecated. Use PaymentMethod instead.
Или когда он используется в наследовании:
class Sofort < BillingMethod
end
Sofort.new #=> DEPRECATION WARNING: the class BillingMethod is deprecated. Use PaymentMethod instead.
Или, при использовании во вложенных классах:
class BillingMethod::Sofort < BillingMethod
end
BillingMethod::Sofort.new #=> DEPRECATION WARNING: the class BillingMethod is deprecated. Use PaymentMethod instead.
Я бы подумал, что блок class_eval
было бы место, куда воткнуть такое предупреждение. Это правильное место? Или есть лучшие методы?