Sha256: ad4188f101ffe6efb47eb7e0febce71c4df04c3f70c9c3ab27a8b328295f4eed

Contents?: true

Size: 881 Bytes

Versions: 129

Compression:

Stored size: 881 Bytes

Contents

# Rackup config that serves the contents of Rack::Cache's
# doc directory. The documentation is rebuilt on each request.

# Rewrites URLs like conventional web server configs.
class Rewriter < Struct.new(:app)
  def call(env)
    if env['PATH_INFO'] =~ /\/$/
      env['PATH_INFO'] += 'index.html'
    elsif env['PATH_INFO'] !~ /\.\w+$/
      env['PATH_INFO'] += '.html'
    end
    app.call(env)
  end
end

# Rebuilds documentation on each request.
class DocBuilder < Struct.new(:app)
  def call(env)
    if env['PATH_INFO'] !~ /\.(css|js|gif|jpg|png|ico)$/
      env['rack.errors'] << "*** rebuilding documentation (rake -s doc)\n"
      system "rake -s doc"
    end
    app.call(env)
  end
end

use Rack::CommonLogger
use DocBuilder
use Rewriter
use Rack::Static, :root => File.dirname(__FILE__), :urls => ["/"]

run(lambda{|env| [404,{},'<h1>Not Found</h1>']})

# vim: ft=ruby

Version data entries

129 entries across 105 versions & 22 rubygems

Version Path
active_mailer-0.0.10 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/doc/server.ru
judge-2.0.5 vendor/bundle/ruby/2.1.0/gems/rack-cache-1.2/doc/server.ru
josh-rack-cache-0.5.1 doc/server.ru
rtomayko-rack-cache-0.3.0 doc/server.ru
rtomayko-rack-cache-0.3.9 doc/server.ru
rtomayko-rack-cache-0.4 doc/server.ru
rtomayko-rack-cache-0.5.1 doc/server.ru
rtomayko-rack-cache-0.5 doc/server.ru
active_mailer-0.0.9 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/doc/server.ru
active_mailer-0.0.8 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/doc/server.ru
active_mailer-0.0.7 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/doc/server.ru
active_mailer-0.0.6 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/doc/server.ru
font-awesome-rails-3.1.1.2 vendor/ruby/1.9.1/gems/rack-cache-1.2/doc/server.ru
font-awesome-rails-3.1.1.2 vendor/ruby/2.0.0/gems/rack-cache-1.2/doc/server.ru
font-awesome-rails-3.1.1.1 vendor/ruby/2.0.0/gems/rack-cache-1.2/doc/server.ru
font-awesome-rails-3.1.1.1 vendor/ruby/1.9.1/gems/rack-cache-1.2/doc/server.ru
challah-1.0.0.beta3 vendor/bundle/gems/rack-cache-1.2/doc/server.ru
fc-webicons-0.0.4 vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/doc/server.ru
challah-1.0.0.beta2 vendor/bundle/gems/rack-cache-1.2/doc/server.ru
challah-1.0.0.beta vendor/bundle/gems/rack-cache-1.2/doc/server.ru