Sha256: 1fb0e5a6d5fa3b52be14eed4ec9a376c0454c50572e9c844d442d5a5604dea8d

Contents?: true

Size: 939 Bytes

Versions: 4

Compression:

Stored size: 939 Bytes

Contents

module Ki
  class KiApp
    # should never reach this
    # middleware should catch all the requests
    def call env
      s = 'misplaced in space'
      Rack::Response.new(s).finish
    end
  end

  class Ki
    PUBLIC_PATH = 'public'
    VIEWS_PATH = 'views'

    def initialize
      KiConfig.instance.read environment
      Orm::Db.instance.establish_connection

      @app = Rack::Builder.new do
        use Middleware::InitMiddleware
        # TODO what happens with invalid json?
        use Rack::Parser, :content_types => { 'application/json'  => Proc.new { |body| ::MultiJson.decode body } }
        use Middleware::ApiHandler
        use Middleware::CoffeeCompiler
        use Middleware::SassCompiler
        use Middleware::HamlCompiler
        use Middleware::PublicFileServer
        run KiApp.new
      end
    end

    def environment
      ENV['RACK_ENV']
    end

    def call env
      @app.call env
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ki-0.4.4 lib/ki/ki.rb
ki-0.4.3 lib/ki/ki.rb
ki-0.4.2 lib/ki/ki.rb
ki-0.4.1 lib/ki/ki.rb