Sha256: 4cc5e50c5b76f1d44903d55a6b509623be844d164bd7ea90e0af4fa52be18060

Contents?: true

Size: 1.12 KB

Versions: 11

Compression:

Stored size: 1.12 KB

Contents

require 'webrick/httputils'

module YARD
  module Server
    # A custom {Serializers::Base serializer} which returns resource URLs instead of
    # static relative paths to files on disk.
    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

11 entries across 11 versions & 3 rubygems

Version Path
nutshell-crm-0.0.6.alpha vendor/bundle/gems/yard-0.7.4/lib/yard/server/doc_server_serializer.rb
nutshell-crm-0.0.5 vendor/bundle/gems/yard-0.7.4/lib/yard/server/doc_server_serializer.rb
nutshell-crm-0.0.4 vendor/bundle/gems/yard-0.7.4/lib/yard/server/doc_server_serializer.rb
nutshell-crm-0.0.3 vendor/bundle/gems/yard-0.7.4/lib/yard/server/doc_server_serializer.rb
nutshell-crm-0.0.2 vendor/bundle/gems/yard-0.7.4/lib/yard/server/doc_server_serializer.rb
yard-0.7.4 lib/yard/server/doc_server_serializer.rb
yard-0.7.3 lib/yard/server/doc_server_serializer.rb
vanity-1.7.1 vendor/ruby/1.9.1/gems/yard-0.7.2/lib/yard/server/doc_server_serializer.rb
yard-0.7.2 lib/yard/server/doc_server_serializer.rb
yard-0.7.1 lib/yard/server/doc_server_serializer.rb
yard-0.7.0 lib/yard/server/doc_server_serializer.rb