Class: Waitress::Launcher

Inherits:
Object
  • Object
show all
Defined in:
lib/waitress.rb

Instance Method Summary collapse

Constructor Details

#initialize(waitress_root = "~/.waitress") ⇒ Launcher

Create a new launcher. This is responsible for creating Waitress server instances from either the Filesystem, or being embedded in an application



64
65
66
# File 'lib/waitress.rb', line 64

def initialize waitress_root="~/.waitress"
  @waitress_root = File.expand_path waitress_root
end

Instance Method Details

#configObject



78
79
80
81
# File 'lib/waitress.rb', line 78

def config
  ConfigFile.new File.join(@waitress_root, "config.yml"),
    {"server_root" => File.join(@waitress_root, "www")}, :yaml
end

#serveObject



98
99
100
# File 'lib/waitress.rb', line 98

def serve
  Waitress::HttpServer.new
end

#serve!(filesystem = false, rootdir = :default) ⇒ Object

Serve a Waitress server from either the Filesystem or embedded in an application



69
70
71
72
73
74
75
# File 'lib/waitress.rb', line 69

def serve! filesystem=false, rootdir=:default
  if filesystem
    serve_filesystem rootdir
  else
    serve
  end
end

#serve_filesystem(rootdir) ⇒ Object



83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/waitress.rb', line 83

def serve_filesystem rootdir
  if rootdir == :default
    FileUtils.mkdir_p @waitress_root unless File.exist? @waitress_root
    cfg = config
    cfg.load
    @root = File.expand_path cfg["server_root"]
  else
    @root = rootdir
  end
  # s = serve
  # Waitress::Configure.new s, @root
  # s
  Waitress::Configure.new @root
end