Рассматривая класс с методом, который раньше получал 2 аргумента, но теперь в новых версиях аргумент больше не нужен.Каков наилучший подход к устареванию аргумента этого метода?
В Ruby stdlib есть метод deprecate
, который не поддерживает весь метод, но я все еще хочу, чтобы метод существовал, ему просто не нужен один изаргументы, которые он использовал для получения и уже являлся необязательным аргументом.
И пример будет
class DateValidator
def date_valid?(date_string, fmt="%Y-%m-%d")
# any check that does not even look for `_fmt` anymore
end
Если я просто устарею от этого метода, предупреждение об устаревании будет отправлено, даже если кто-то вызоветметод без передачи второго аргумента.
Я хочу вскоре изменить arity метода, чтобы явно пропустить аргумент, но я хочу сделать это в новой версии, и я не хочу нарушать совместимость с классами, которыевсе еще передает второй аргумент, даже если он больше не нужен.
Итак, как лучше всего предупредить об устаревании 2-го аргумента в этом примере?