Class: YARD::Server::DocServerSerializer

Inherits:
YARD::Serializers::FileSystemSerializer show all
Defined in:
lib/yard/server/doc_server_serializer.rb

Overview

A custom serializer which returns resource URLs instead of static relative paths to files on disk.

Since:

  • 0.6.0

Instance Method Summary collapse

Constructor Details

#initialize(_command = nil) ⇒ DocServerSerializer

Returns a new instance of DocServerSerializer.

Since:

  • 0.6.0



7
8
9
# File 'lib/yard/server/doc_server_serializer.rb', line 7

def initialize(_command = nil)
  super(:basepath => '', :extension => '')
end

Instance Method Details

#serialized_path(object) ⇒ Object

Since:

  • 0.6.0



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/yard/server/doc_server_serializer.rb', line 11

def serialized_path(object)
  case object
  when CodeObjects::RootObject
    "toplevel"
  when CodeObjects::ExtendedMethodObject
    serialized_path(object.namespace) + ':' + urlencode(object.name.to_s)
  when CodeObjects::MethodObject
    serialized_path(object.namespace) +
      (object.scope == :instance ? ":" : ".") + urlencode(object.name.to_s)
  when CodeObjects::ConstantObject, CodeObjects::ClassVariableObject
    serialized_path(object.namespace) + "##{object.name}-#{object.type}"
  when CodeObjects::ExtraFileObject
    super(object).gsub(/^file\./, 'file/')
  else
    super(object)
  end
end