Sha256: 5beeb9a30692003a2cdacdceb1f9e78bccbae24890c720bd7571b6bbe2b8c239

Contents?: true

Size: 628 Bytes

Versions: 7

Compression:

Stored size: 628 Bytes

Contents

require 'rack'

module Massimo
  class Server
    class << self
      def start(site, port = 3000)
        app = Rack::Builder.new do
          use Rack::ShowExceptions
          run Massimo::Server.new(site)
        end
        Rack::Handler::WEBrick.run(app, :Port => port)
      end
    end
    
    def initialize(site)
      @site        = site
      @file_server = Rack::File.new(site.config.output_path)
      @watcher     = Massimo::Watcher.new(site)
    end
    
    def call(env)
      @watcher.process
      env['PATH_INFO'] << 'index.html' if env['PATH_INFO'] =~ /\/$/
      @file_server.call(env)
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
massimo-0.5.6 lib/massimo/server.rb
massimo-0.5.5 lib/massimo/server.rb
massimo-0.5.4 lib/massimo/server.rb
massimo-0.5.3 lib/massimo/server.rb
massimo-0.5.2 lib/massimo/server.rb
massimo-0.5.1 lib/massimo/server.rb
massimo-0.5.0 lib/massimo/server.rb