Sha256: edb004be3ab0d69358c1bd65d17b2be8ecd1392172c84af1439e96b76024650f
Contents?: true
Size: 773 Bytes
Versions: 7
Compression:
Stored size: 773 Bytes
Contents
require 'active_support/core_ext/string/starts_ends_with' require 'rack' module Massimo class Server class << self def start(site, port = 3000) handler = Rack::Handler.default trap(:INT) do if handler.respond_to?(:shutdown) handler.shutdown else exit end end handler.run(self.new(site), :Port => port) end end def initialize(site = Massimo.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'].ends_with? '/' @file_server.call(env) end end end
Version data entries
7 entries across 7 versions & 1 rubygems