class Miniserver::Server
Attributes
app[R]
options[R]
script[R]
Public Class Methods
new(app, options={})
click to toggle source
# File lib/miniserver/server.rb, line 10 def initialize(app, options={}) @app = app @options = options @script = $PROGRAM_NAME FileUtils.mkdir_p(File.dirname(options[:log])) Miniserver.logger = Logger.new(options[:log]) end
Public Instance Methods
daemonize_app()
click to toggle source
# File lib/miniserver/server.rb, line 43 def daemonize_app Process.daemon(true) $0 = "Miniserver #{Miniserver::VERSION} (#{options[:host]}:#{options[:port]})" FileUtils.mkdir_p(File.dirname(options[:pid])) File.open(options[:pid], "w") do |f| f.puts(Process.pid) end end
restart()
click to toggle source
# File lib/miniserver/server.rb, line 59 def restart stop Command.restart(script, options) end
start()
click to toggle source
# File lib/miniserver/server.rb, line 19 def start Miniserver.logger.info "=> #{Time.now.asctime}" Miniserver.logger.info "=> Starting Miniserver #{Miniserver::VERSION}" Miniserver.logger.info "=> Listening on #{options[:host]}:#{options[:port]}" if options[:daemonize] daemonize_app else puts "=> Miniserver #{Miniserver::VERSION}" puts "=> Listening on #{options[:host]}:#{options[:port]}" puts "=> CTRL+C to stop" end trap(:INT) { stop } trap(:TERM) { stop } trap(:HUP) { restart } EM.run do EM.start_server(options[:host], options[:port], Connection) do |connection| connection.app = app end end end
stop()
click to toggle source
# File lib/miniserver/server.rb, line 55 def stop EM.stop end