Sha256: fe3a6ed0cc71fada0fe588f85c059bb01f83aff3e41fbd1037e408b1d09b9796

Contents?: true

Size: 1019 Bytes

Versions: 4

Compression:

Stored size: 1019 Bytes

Contents

require 'webrick/httputils'

module YARD
  module Server
    class DocServerSerializer < Serializers::FileSystemSerializer
      include WEBrick::HTTPUtils
      
      def initialize(command)
        super(:command => command, :extension => '')
      end

      def serialized_path(object)
        path = case object
        when CodeObjects::RootObject
          "toplevel"
        when CodeObjects::MethodObject
          return escape_path(serialized_path(object.namespace) + (object.scope == :instance ? ":" : ".") + object.name.to_s)
        when CodeObjects::ConstantObject, CodeObjects::ClassVariableObject
          return escape_path(serialized_path(object.namespace)) + "##{object.name}-#{object.type}"
        else
          object.path.gsub('::', '/')
        end
        command = options[:command]
        library_path = command.single_library ? '' : '/' + command.library.to_s
        return escape_path(File.join('', command.adapter.router.docs_prefix, library_path, path))
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
yard-0.6.3 lib/yard/server/doc_server_serializer.rb
yard-0.6.2 lib/yard/server/doc_server_serializer.rb
yard-0.6.1 lib/yard/server/doc_server_serializer.rb
yard-0.6.0 lib/yard/server/doc_server_serializer.rb