Class: YARD::Server::Commands::DisplayFileCommand

Inherits:
LibraryCommand show all
Defined in:
lib/yard/server/commands/display_file_command.rb

Overview

TODO:

Implement better support for detecting binary (image) filetypes

Displays a README or extra file.

Since:

  • 0.6.0

Basic Command and Adapter Options collapse

Attributes Set Per Request collapse

Instance Attribute Summary collapse

Instance Method Summary collapse

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

#indexObject

Since:

  • 0.6.0



8
9
10
# File 'lib/yard/server/commands/display_file_command.rb', line 8

def index
  @index
end

#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

#runObject

Raises:

Since:

  • 0.6.0



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

def run
  ppath = library.source_path
  filename = File.cleanpath(File.join(library.source_path, path))
  raise NotFoundError if !File.file?(filename)
  if filename =~ /\.(jpe?g|gif|png|bmp)$/i
    headers['Content-Type'] = StaticFileCommand::DefaultMimeTypes[$1.downcase] || 'text/html'
    render File.read_binary(filename)
  else
    file = CodeObjects::ExtraFileObject.new(filename)
    options.update :object => Registry.root,
                   :type => :layout,
                   :file => file,
                   :index => index ? true : false
    render
  end
end