Class: YARD::Server::Commands::DisplayFileCommand
- Inherits:
-
LibraryCommand
- Object
- Base
- LibraryCommand
- YARD::Server::Commands::DisplayFileCommand
- 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.
Instance Attribute Summary
Attributes inherited from LibraryCommand
#incremental, #library, #options, #serializer, #single_library
Attributes inherited from Base
#adapter, #body, #caching, #command_options, #headers, #path, #request, #status
Instance Method Summary collapse
Methods inherited from LibraryCommand
Methods inherited from Base
#cache, #call, #initialize, #not_found, #redirect, #render
Constructor Details
This class inherits a constructor from YARD::Server::Commands::LibraryCommand
Instance Method Details
#run ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/yard/server/commands/display_file_command.rb', line 8 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 IO.read(filename) else file = CodeObjects::ExtraFileObject.new(filename) .update(:object => Registry.root, :type => :layout, :file => file) render end end |