Я переименовал некоторые атрибуты в свой Ruby mqtt gem, чтобы соответствовать новому MQTT specification. Я делаю это, переименовывая атрибут, а затем используя alias_method, чтобы убедиться, что старые методы все еще работают.Устранение переименованного атрибута в документации Ruby YARD
Вот пример того, что я сделал для переименования атрибутов:
# The level number of the protocol
attr_accessor :protocol_level
# @deprecated Please use {#protocol_level} instead
alias_method :protocol_version, :protocol_level
# @deprecated Please use {#protocol_level=} instead
alias_method :protocol_version=, :protocol_level=
Однако в сгенерированных YARD документы, не пометить его как устаревший и на самом деле он выглядит, как будто это хорошо альтернативное имя!
- (Object) protocol_level
Also known as: protocol_version
The level number of the protocol
Каков наилучший способ для этого? Должен ли я определять старые имена атрибутов, используя вместо этого определение нормального метода? Я очень хочу, чтобы код был кратким.
Согласитесь, что это не лучший способ сделать это. – njh