config.ru
ef3ff431
 require 'rubygems'
 require 'bundler/setup'
 require 'rack'
 
 # The project root directory
 $root = ::File.dirname(__FILE__)
 
 # Common Rack Middleware
 use Rack::ShowStatus      # Nice looking 404s and other messages
 use Rack::ShowExceptions  # Nice looking errors
 
 #
 # From Rack::DirectoryIndex:
 # https://github.com/craigmarksmith/rack-directory-index/
 #
 module Rack
   class DirectoryIndex
     def initialize(app)
       @app = app
     end
     def call(env)
       index_path = ::File.join($root, 'public', Rack::Request.new(env).path.split('/'), 'index.html')
       if ::File.exists?(index_path)
         return [200, {"Content-Type" => "text/html"}, [::File.read(index_path)]]
       else
         @app.call(env)
       end
     end
   end
 end
 
 use Rack::DirectoryIndex
 
 run Rack::Directory.new($root + '/public')