Изменить yardoc serialized_path - PullRequest
0 голосов
/ 30 октября 2011

Прямо сейчас Yardoc сгенерирует документы, такие как: doc / ModuleName.html, doc / ModuleName / ClassName.html и doc / ModuleName / ClassName / method_name.html Мне было интересно, как я могу настроить serialized_path (без мартышки, исправляющей все)сделать что-то вроде: doc / ModuleName / index.html doc / ModuleName / ClassName / index.html и doc / ModuleName / ClassName / имя_метода / index.html

1 Ответ

0 голосов
/ 01 ноября 2011

Вам понадобится обезьянький патч (из того, что я заметил, после 2 дней поиска я не нашел другого пути) Итак ... Создайте файл с именем yardoc_pretty-uris.rb и при запуске yardoc сделайте -e yardo_pretty-print.rb.

yardoc_pretty-uris.rb содержимое:

module YARD
  module Serializers
    class FileSystemSerializer
      def serialized_path(object)
        return object if object.is_a?(String)

        if object.is_a?(CodeObjects::ExtraFileObject)
          fspath = ["file.#{object.name}.#{@extension}"]
        else
          objname = "top-level-namespace"
          objname = object.name.to_s if object != YARD::Registry.root

          # Make this shit pretty URL's prease.....
          fspath = [objname, "index.#{@extension}"]

          if object.namespace && object.namespace.path != ""
            fspath.unshift(*object.namespace.path.split(CodeObjects::NSEP))
          end
        end

        fspath.map! do |part|
          part.downcase!
          part.gsub(/[^0-9a-zA-Z\-_\.]/, '')
        end

        File.join(fspath)
      end
    end
  end
end
...