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

Instance Attribute Summary collapse

Attributes inherited from LibraryCommand

#incremental, #library, #options, #serializer, #single_library, #use_fork

Attributes inherited from Base

#adapter, #body, #caching, #command_options, #headers, #path, #request, #status

Instance Method Summary collapse

Methods inherited from LibraryCommand

#call, #initialize

Methods inherited from Base

#call, #initialize

Constructor Details

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

Instance Attribute Details

#indexObject

Since:

  • 0.6.0



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

def index
  @index
end

Instance Method Details

#runObject

Raises:

Since:

  • 0.6.0



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 11

def run
  filename = File.cleanpath(File.join(library.source_path, path))
  raise NotFoundError unless File.file?(filename)
  if filename =~ /\.(jpe?g|gif|png|bmp|svg)$/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