Class: YARD::Server::Commands::DisplayObjectCommand

Inherits:
LibraryCommand show all
Includes:
DocServerHelper
Defined in:
lib/yard/server/commands/display_object_command.rb

Overview

Displays documentation for a specific object identified by the path

Since:

  • 0.6.0

Direct Known Subclasses

FramesCommand

Basic Command and Adapter Options collapse

Attributes Set Per Request collapse

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from DocServerHelper

#base_path, #router, #url_for, #url_for_file, #url_for_frameset, #url_for_index, #url_for_list, #url_for_main

Constructor Details

This class inherits a constructor from YARD::Server::Commands::LibraryCommand

Instance Attribute Details

#adapterAdapter Originally defined in class Base

Returns the server adapter

Returns:

Since:

  • 0.6.0

#bodyString Originally defined in class Base

Returns the response body. Defaults to empty string.

Returns:

  • (String)

    the response body. Defaults to empty string.

Since:

  • 0.6.0

#cachingBoolean Originally defined in class Base

Returns whether to cache

Returns:

  • (Boolean)

    whether to cache

Since:

  • 0.6.0

#command_optionsHash Originally defined in class Base

Returns the options passed to the command's constructor

Returns:

  • (Hash)

    the options passed to the command's constructor

Since:

  • 0.6.0

#headersHash{String => String} Originally defined in class Base

Returns response headers

Returns:

Since:

  • 0.6.0

#incrementalBoolean Originally defined in class LibraryCommand

Returns whether to reparse data

Returns:

  • (Boolean)

    whether to reparse data

Since:

  • 0.6.0

#libraryLibraryVersion Originally defined in class LibraryCommand

Returns the object containing library information

Returns:

Since:

  • 0.6.0

#optionsLibraryOptions Originally defined in class LibraryCommand

Returns default options for the library

Returns:

Since:

  • 0.6.0

#pathString Originally defined in class Base

Returns the path after the command base URI

Returns:

  • (String)

    the path after the command base URI

Since:

  • 0.6.0

#requestRequest Originally defined in class Base

Returns request object

Returns:

  • (Request)

    request object

Since:

  • 0.6.0

#serializerSerializers::Base Originally defined in class LibraryCommand

Returns the serializer used to perform file linking

Returns:

Since:

  • 0.6.0

#single_libraryBoolean Originally defined in class LibraryCommand

Returns whether router should route for multiple libraries

Returns:

  • (Boolean)

    whether router should route for multiple libraries

Since:

  • 0.6.0

#statusNumeric Originally defined in class Base

Returns status code. Defaults to 200 per request

Returns:

  • (Numeric)

    status code. Defaults to 200 per request

Since:

  • 0.6.0

Instance Method Details

#indexObject

Since:

  • 0.6.0



33
34
35
36
37
38
39
40
41
42
# File 'lib/yard/server/commands/display_object_command.rb', line 33

def index
  Registry.load_all

  options.update(
    :object => '_index.html',
    :objects => Registry.all(:module, :class),
    :type => :layout
  )
  render
end

#not_foundObject

Since:

  • 0.6.0



44
45
46
47
# File 'lib/yard/server/commands/display_object_command.rb', line 44

def not_found
  super
  self.body = "Could not find object: #{object_path}"
end

#runObject

Since:

  • 0.6.0



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/yard/server/commands/display_object_command.rb', line 8

def run
  if path.empty?
    if options.readme
      filename = options.readme.filename
      opts = adapter.options.merge(
        :index => true, :library => library,
        :path => filename.sub(%r{^#{library.source_path.to_s}/}, ''))
      self.status, self.headers, self.body =
        *DisplayFileCommand.new(opts).call(request)
      cache(self.body)
      return
    else
      self.path = 'index'
    end
  end
  return index if path == 'index'

  if object = Registry.at(object_path)
    options.update(:type => :layout)
    render(object)
  else
    self.status = 404
  end
end