Class: Merb::Rack::Thin

Inherits:
AbstractAdapter show all
Defined in:
lib/merb-core/rack/adapter/thin.rb

Direct Known Subclasses

ThinTurbo

Class Method Summary collapse

Methods inherited from AbstractAdapter

exit_process, process_title, spawn_worker, start, start_at_port

Class Method Details

.new_server(port) ⇒ Object

start a Thin server on given host and port.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/merb-core/rack/adapter/thin.rb', line 10

def self.new_server(port)
  Merb::Dispatcher.use_mutex = false
  
  if (@opts[:socket] || @opts[:socket_file])
    socket = port.to_s
    socket_file = @opts[:socket_file] || "#{Merb.log_path}/#{Merb::Config[:name]}.#{socket}.sock"
    Merb.logger.warn!("Using Thin adapter with socket file #{socket_file}.")
    @server = ::Thin::Server.new(socket_file, @opts[:app], @opts)
  else
    Merb.logger.warn!("Using Thin adapter on host #{@opts[:host]} and port #{port}.")
    @opts[:host] = "#{@opts[:host]}-#{port}" if @opts[:host].include?('/')
    @server = ::Thin::Server.new(@opts[:host], port, @opts[:app], @opts)
  end
end

.start_serverObject



25
26
27
28
# File 'lib/merb-core/rack/adapter/thin.rb', line 25

def self.start_server
  ::Thin::Logging.silent = true
  @server.start
end

.stop(status = 0) ⇒ Object



30
31
32
33
34
35
# File 'lib/merb-core/rack/adapter/thin.rb', line 30

def self.stop(status = 0)
  if @server
    @server.stop
    true
  end
end