Class: Puma::Configuration
- Inherits:
-
Object
- Object
- Puma::Configuration
- Includes:
- ConfigDefault
- Defined in:
- lib/puma/configuration.rb
Defined Under Namespace
Classes: ConfigMiddleware
Constant Summary
Constants included from ConfigDefault
Puma::ConfigDefault::DefaultRackup, Puma::ConfigDefault::DefaultTCPHost, Puma::ConfigDefault::DefaultTCPPort, Puma::ConfigDefault::DefaultWorkerShutdownTimeout, Puma::ConfigDefault::DefaultWorkerTimeout
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#plugins ⇒ Object
readonly
Returns the value of attribute plugins.
Class Method Summary collapse
Instance Method Summary collapse
-
#app ⇒ Object
Load the specified rackup file, pull options from the rackup file, and set @app.
-
#app_configured? ⇒ Boolean
Indicate if there is a properly configured app.
-
#clamp ⇒ Object
Call once all configuration (included from rackup files) is loaded to flesh out any defaults.
- #configure(&blk) ⇒ Object
- #default_options ⇒ Object
-
#environment ⇒ Object
Return which environment we’re running in.
- #flatten ⇒ Object
- #flatten! ⇒ Object
-
#initialize(options = {}, &blk) ⇒ Configuration
constructor
A new instance of Configuration.
- #initialize_copy(other) ⇒ Object
- #load ⇒ Object
- #load_plugin(name) ⇒ Object
- #rackup ⇒ Object
- #run_hooks(key, arg) ⇒ Object
Constructor Details
#initialize(options = {}, &blk) ⇒ Configuration
Returns a new instance of Configuration.
135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/puma/configuration.rb', line 135 def initialize(={}, &blk) = LeveledOptions.new() @plugins = PluginLoader.new # options.each do |k,v| # @options[k] = v # end if blk configure(&blk) end end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
148 149 150 |
# File 'lib/puma/configuration.rb', line 148 def end |
#plugins ⇒ Object (readonly)
Returns the value of attribute plugins.
148 149 150 |
# File 'lib/puma/configuration.rb', line 148 def plugins @plugins end |
Class Method Details
.from_file(path) ⇒ Object
127 128 129 130 131 132 133 |
# File 'lib/puma/configuration.rb', line 127 def self.from_file(path) cfg = new DSL.new(cfg., cfg)._load_from path return cfg end |
.temp_path ⇒ Object
275 276 277 278 279 280 |
# File 'lib/puma/configuration.rb', line 275 def self.temp_path require 'tmpdir' t = (Time.now.to_f * 1000).to_i "#{Dir.tmpdir}/puma-status-#{t}-#{$$}" end |
Instance Method Details
#app ⇒ Object
Load the specified rackup file, pull options from the rackup file, and set @app.
244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 |
# File 'lib/puma/configuration.rb', line 244 def app found = [:app] || load_rackup if [:mode] == :tcp require 'puma/tcp_logger' logger = [:logger] return TCPLogger.new(logger, found, [:log_requests]) end if [:log_requests] logger = [:logger] found = CommonLogger.new(found, logger) end ConfigMiddleware.new(self, found) end |
#app_configured? ⇒ Boolean
Indicate if there is a properly configured app
233 234 235 |
# File 'lib/puma/configuration.rb', line 233 def app_configured? [:app] || File.exist?(rackup) end |
#clamp ⇒ Object
Call once all configuration (included from rackup files) is loaded to flesh out any defaults
213 214 215 216 |
# File 'lib/puma/configuration.rb', line 213 def clamp .shift .force_defaults end |
#configure(&blk) ⇒ Object
150 151 152 153 |
# File 'lib/puma/configuration.rb', line 150 def configure(&blk) .shift DSL.new(, self)._run(&blk) end |
#default_options ⇒ Object
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 |
# File 'lib/puma/configuration.rb', line 170 def { :min_threads => 0, :max_threads => 16, :log_requests => false, :debug => false, :binds => ["tcp://#{DefaultTCPHost}:#{DefaultTCPPort}"], :workers => 0, :daemon => false, :mode => :http, :worker_timeout => DefaultWorkerTimeout, :worker_boot_timeout => DefaultWorkerTimeout, :worker_shutdown_timeout => DefaultWorkerShutdownTimeout, :remote_address => :socket, :tag => method(:infer_tag), :environment => lambda { ENV['RACK_ENV'] || "development" }, :rackup => DefaultRackup, :logger => STDOUT } end |
#environment ⇒ Object
Return which environment we’re running in
263 264 265 |
# File 'lib/puma/configuration.rb', line 263 def environment [:environment] end |
#flatten ⇒ Object
161 162 163 |
# File 'lib/puma/configuration.rb', line 161 def flatten dup.flatten! end |
#flatten! ⇒ Object
165 166 167 168 |
# File 'lib/puma/configuration.rb', line 165 def flatten! = .flatten self end |
#initialize_copy(other) ⇒ Object
155 156 157 158 159 |
# File 'lib/puma/configuration.rb', line 155 def initialize_copy(other) @conf = nil = nil = .dup end |
#load ⇒ Object
191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 |
# File 'lib/puma/configuration.rb', line 191 def load files = .all_of(:config_files) if files.empty? imp = %W(config/puma/#{@options[:environment]}.rb config/puma.rb).find { |f| File.exist?(f) } files << imp elsif files == ["-"] files = [] end files.each do |f| .shift DSL.load , self, f end end |
#load_plugin(name) ⇒ Object
267 268 269 |
# File 'lib/puma/configuration.rb', line 267 def load_plugin(name) @plugins.create name end |
#rackup ⇒ Object
237 238 239 |
# File 'lib/puma/configuration.rb', line 237 def rackup [:rackup] end |
#run_hooks(key, arg) ⇒ Object
271 272 273 |
# File 'lib/puma/configuration.rb', line 271 def run_hooks(key, arg) .all_of(key).each { |b| b.call arg } end |