Ruby YARD: переход к следующему определению метода при построении исходного представления - PullRequest
0 голосов
/ 15 ноября 2018

Есть ли способ перейти к следующему ключевому слову def во дворе при создании исходного представления?

Usecase

Скажем, я пишу приложение tor.В идеале я бы задокументировал это так:

require 'thor'

class Foo < Thor
  ##
  # prints the current version of the gem
  #
  # @example 
  #   foo version
  # @return [String] current version
  desc 'version', 'show the current version of the gem'
  def version
    puts('0.0.0')
  end
end

Однако, тогда опция просмотра источника в документах будет показывать только строку desc

yard_incorrect_source

Чтобы получить правильный исходный вывод, вам нужно поместить документ прямо поверх определения метода.Это может быть проблемой, так как ваши документы увеличиваются в сложности, потому что это отталкивает ваш вызов метода desc от метода, к которому он относится.

require 'thor'

class Foo < Thor
  desc 'version', 'show the current version of the gem'
  ##
  # prints the current version of the gem
  #
  # @example 
  #   foo version
  # @return [String] current version
  def version
    puts('0.0.0')
  end
end

yard_correct_source

Подробности среды

  • ОС: Ubuntu 16.04
  • Версия Ruby: ruby ​​2.4.4p296
  • Версия YARD: ярд 0.9.16

Заключительные замечания

Не получается найти способ настроить ярд для игнорирования кода до def или пропустить строки, начинающиеся с desc.Самая близкая вещь, которую я нашел, это https://github.com/lsegal/yard-thor, которая кажется в основном без документов и не поддерживается.

Есть ли какая-либо конфигурация двора или плагин, который позволил бы мне хранить весь мой код и получать правильный исходный вывод?

Опция, включающая вызов desc, а также определение метода в исходном выводе, тоже будет работать.

...