Para quase todos os casos, dependendo de uma biblioteca ou metaprogramação para uma depreciação, é um exagero. Basta adicionar um comentário ao rdoc e chamar o Kernel#warn
método Por exemplo:
class Foo
# <b>DEPRECATED:</b> Please use <tt>useful</tt> instead.
def useless
warn "[DEPRECATION] `useless` is deprecated. Please use `useful` instead."
useful
end
def useful
# ...
end
end
Se você estiver usando o Yard em vez do rdoc , o comentário do seu documento deverá ficar assim:
# @deprecated Please use {#useful} instead
Por fim, se você aderir ao tomdoc , faça seu comentário assim:
# Deprecated: Please use `useful` instead
Descontinuado: indica que o método está descontinuado e será removido em uma versão futura. Você DEVE usar isso para documentar métodos que eram Públicos, mas serão removidos na próxima versão principal.
Além disso, não se esqueça de remover o método descontinuado em alguma versão futura (e corretamente sempre ) . Não cometa os mesmos erros que as bibliotecas Java.