Class: Waitress::Configuration

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

Overview

The Configuration Class is the object that contains a configuration of a single server instance, hosting all the methods provided by Waitress.configure!

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(configure, *ports) ⇒ Configuration

Returns a new instance of Configuration.



88
89
90
91
92
93
94
95
# File 'lib/waitress/configure.rb', line 88

def initialize configure, *ports
  @ports = *ports
  @hosts = []
  @configure = configure

  @processes = 10
  @processes = ENV["WAITRESS_PROCESSES"].to_i if ENV.include? "WAITRESS_PROCESSES"
end

Instance Attribute Details

#hostsObject

Returns the value of attribute hosts.



84
85
86
# File 'lib/waitress/configure.rb', line 84

def hosts
  @hosts
end

#portsObject

Returns the value of attribute ports.



85
86
87
# File 'lib/waitress/configure.rb', line 85

def ports
  @ports
end

#processesObject

Returns the value of attribute processes.



86
87
88
# File 'lib/waitress/configure.rb', line 86

def processes
  @processes
end

Instance Method Details

#all_hosts(&block) ⇒ Object

Over all the registered VHosts, call this method. Use this to configure a similar setting for all vhosts at once instead of duplicating code across all of them.



110
111
112
# File 'lib/waitress/configure.rb', line 110

def all_hosts &block
  @hosts.each { |h| block.call(h) }
end

#host(regex, priority = 50, &block) ⇒ Object

Create a new VirtualHost with the given regex, priority, and configure it inside of its own block.



99
100
101
102
103
104
105
# File 'lib/waitress/configure.rb', line 99

def host regex, priority=50, &block
  host = Waitress::Vhost.new regex, priority
  host.set_configure @configure
  block.call(host)
  @hosts << host
  host
end

#to_sObject



114
115
116
117
# File 'lib/waitress/configure.rb', line 114

def to_s
  m = lambda { |a,x| x.nil? ? "" : "\r\n#{a}=#{x.inspect}" }
  "#<#{self.class} #{m.call('ports', @ports)} #{m.call('hosts', @hosts)}>"
end