diff --git a/lib/gembox/app.rb b/lib/gembox/app.rb index b70481d..773b8d2 100644 --- a/lib/gembox/app.rb +++ b/lib/gembox/app.rb @@ -27,10 +27,11 @@ class App < ::Sinatra::Default get %r{/gems/doc/([\w\-\_]+)/?([\d\.]+)?/?(.*)?} do if params[:captures].length == 3 && !params[:captures][2].blank? # we have a path - @path = params[:captures].pop load_gem_by_version @rdoc_path = File.join(@gem.installation_path, "doc", @gem.full_name, 'rdoc') - File.read(File.join(@rdoc_path, @path)) + full_path = File.join(@rdoc_path, params[:captures].pop) + content_type File.extname(full_path) + File.read(full_path) else load_gem_by_version @rdoc_path = File.join(@gem.installation_path, "doc", @gem.full_name, 'rdoc') @@ -48,7 +49,7 @@ class App < ::Sinatra::Default if action == 'edit' `$EDITOR #{file_path}` else - response.headers['Content-type'] = 'text/plain' + content_type 'text/plain' return File.read(file_path) end end