Class: Boxlet::Runner

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#serverObject

Returns the value of attribute server.



6
7
8
# File 'lib/boxlet/runner.rb', line 6

def server
  @server
end

#server_instanceObject

Returns the value of attribute server_instance.



6
7
8
# File 'lib/boxlet/runner.rb', line 6

def server_instance
  @server_instance
end

Instance Method Details

#rack(app, params) ⇒ Object



28
29
30
# File 'lib/boxlet/runner.rb', line 28

def rack(app, params)
  Rack::Server.new(params.merge({app: app}))
end

#start(app, &block) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/boxlet/runner.rb', line 8

def start(app, &block)
  params = Boxlet.config
  environment  = ENV['RACK_ENV'] || params[:environment] rescue 'development'
  default_host = environment == 'development' ? 'localhost' : '0.0.0.0'

  params[:Host] = params.delete(:host) || default_host
  params[:Port] = params.delete(:port) || 8077

  server_type = params.delete(:server_type) || :thin
  @server_instance = self.send server_type.to_sym, app, params
  @server_instance.start do |server|
    self.server = server
    block.call(server) if block_given?
  end
end

#stopObject



24
25
26
# File 'lib/boxlet/runner.rb', line 24

def stop
  @server.stop!
end

#thin(app, params) ⇒ Object



32
33
34
# File 'lib/boxlet/runner.rb', line 32

def thin(app, params)
  Boxlet::Handlers::Thin.new(app, params)
end