Class: DaemonKit::Configuration
- Includes:
- Configurable
- Defined in:
- lib/daemon_kit/initializer.rb
Overview
Holds our various configuration values
Instance Attribute Summary collapse
-
#load_paths ⇒ Object
List of load paths.
-
#log_level ⇒ Object
The log level to use, defaults to DEBUG.
-
#log_stdout ⇒ Object
Duplicate log data to stdout.
-
#logger ⇒ Object
Custom logger instance to use.
-
#pid_file ⇒ Object
Path to the pid file, defaults to ‘log/<daemon_name>.pid’.
-
#root_path ⇒ Object
readonly
Root to the daemon.
-
#safety_net ⇒ Object
Our safety net (#Safety) instance.
-
#shutdown_hooks ⇒ Object
readonly
:nodoc: Shutdown hooks.
-
#signal_traps ⇒ Object
readonly
Collection of signal traps.
Instance Method Summary collapse
-
#at_shutdown(proc = nil, &block) ⇒ Object
Add a block or proc to be called during shutdown.
- #daemon_initializer ⇒ Object
- #environment ⇒ Object
-
#environment_path ⇒ Object
The path to the current environment’s file (
development.rb
, etc.). -
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
-
#trap(signal, proc = nil, &block) ⇒ Object
Add a trap for the specified signal, can be code block or a proc.
Methods included from Configurable
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 |
# File 'lib/daemon_kit/initializer.rb', line 292 def initialize parse_arguments! set_root_path! set_daemon_defaults! self.load_paths = default_load_paths self.log_level ||= default_log_level self.log_path ||= default_log_path self.force_kill_wait = false self.safety_net = DaemonKit::Safety.instance @signal_traps = {} @shutdown_hooks = [] end |
Instance Attribute Details
#load_paths ⇒ Object
List of load paths
248 249 250 |
# File 'lib/daemon_kit/initializer.rb', line 248 def load_paths @load_paths end |
#log_level ⇒ Object
The log level to use, defaults to DEBUG
254 255 256 |
# File 'lib/daemon_kit/initializer.rb', line 254 def log_level @log_level end |
#log_stdout ⇒ Object
Duplicate log data to stdout
260 261 262 |
# File 'lib/daemon_kit/initializer.rb', line 260 def log_stdout @log_stdout end |
#logger ⇒ Object
Custom logger instance to use
251 252 253 |
# File 'lib/daemon_kit/initializer.rb', line 251 def logger @logger end |
#pid_file ⇒ Object
Path to the pid file, defaults to ‘log/<daemon_name>.pid’
263 264 265 |
# File 'lib/daemon_kit/initializer.rb', line 263 def pid_file @pid_file end |
#root_path ⇒ Object (readonly)
Root to the daemon
245 246 247 |
# File 'lib/daemon_kit/initializer.rb', line 245 def root_path @root_path end |
#safety_net ⇒ Object
Our safety net (#Safety) instance
287 288 289 |
# File 'lib/daemon_kit/initializer.rb', line 287 def safety_net @safety_net end |
#shutdown_hooks ⇒ Object (readonly)
:nodoc: Shutdown hooks
290 291 292 |
# File 'lib/daemon_kit/initializer.rb', line 290 def shutdown_hooks @shutdown_hooks end |
#signal_traps ⇒ Object (readonly)
Collection of signal traps
284 285 286 |
# File 'lib/daemon_kit/initializer.rb', line 284 def signal_traps @signal_traps end |
Instance Method Details
#at_shutdown(proc = nil, &block) ⇒ Object
Add a block or proc to be called during shutdown
342 343 344 345 346 |
# File 'lib/daemon_kit/initializer.rb', line 342 def at_shutdown( proc = nil, &block ) return if proc.nil? && !block_given? @shutdown_hooks << ( proc || block ) end |
#daemon_initializer ⇒ Object
320 321 322 |
# File 'lib/daemon_kit/initializer.rb', line 320 def daemon_initializer "#{root_path}/config/initializers/#{self.daemon_name}.rb" end |
#environment ⇒ Object
310 311 312 |
# File 'lib/daemon_kit/initializer.rb', line 310 def environment ::DAEMON_ENV end |
#environment_path ⇒ Object
The path to the current environment’s file (development.rb
, etc.). By default the file is at config/environments/#{environment}.rb
.
316 317 318 |
# File 'lib/daemon_kit/initializer.rb', line 316 def environment_path "#{root_path}/config/environments/#{environment}.rb" end |
#trap(signal, proc = nil, &block) ⇒ Object
Add a trap for the specified signal, can be code block or a proc
325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 |
# File 'lib/daemon_kit/initializer.rb', line 325 def trap( signal, proc = nil, &block ) return if proc.nil? && !block_given? # One step towards running on windows, not enough though unless Signal.list.include?( signal ) DaemonKit.logger.warn( "Trapping #{signal} signals not supported on this platform" ) return end unless @signal_traps.has_key?( signal ) set_trap( signal ) end @signal_traps[signal].unshift( proc || block ) end |