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.
-
#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.
271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 |
# File 'lib/daemon_kit/initializer.rb', line 271 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 @signal_traps = {} @shutdown_hooks = [] end |
Instance Attribute Details
#load_paths ⇒ Object
List of load paths
230 231 232 |
# File 'lib/daemon_kit/initializer.rb', line 230 def load_paths @load_paths end |
#log_level ⇒ Object
The log level to use, defaults to DEBUG
236 237 238 |
# File 'lib/daemon_kit/initializer.rb', line 236 def log_level @log_level end |
#log_stdout ⇒ Object
Duplicate log data to stdout
242 243 244 |
# File 'lib/daemon_kit/initializer.rb', line 242 def log_stdout @log_stdout end |
#logger ⇒ Object
Custom logger instance to use
233 234 235 |
# File 'lib/daemon_kit/initializer.rb', line 233 def logger @logger end |
#pid_file ⇒ Object
Path to the pid file, defaults to ‘log/<daemon_name>.pid’
245 246 247 |
# File 'lib/daemon_kit/initializer.rb', line 245 def pid_file @pid_file end |
#root_path ⇒ Object (readonly)
Root to the daemon
227 228 229 |
# File 'lib/daemon_kit/initializer.rb', line 227 def root_path @root_path end |
#shutdown_hooks ⇒ Object (readonly)
:nodoc: Shutdown hooks
269 270 271 |
# File 'lib/daemon_kit/initializer.rb', line 269 def shutdown_hooks @shutdown_hooks end |
#signal_traps ⇒ Object (readonly)
Collection of signal traps
266 267 268 |
# File 'lib/daemon_kit/initializer.rb', line 266 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
319 320 321 322 323 |
# File 'lib/daemon_kit/initializer.rb', line 319 def at_shutdown( proc = nil, &block ) return if proc.nil? && !block_given? @shutdown_hooks << ( proc || block ) end |
#daemon_initializer ⇒ Object
297 298 299 |
# File 'lib/daemon_kit/initializer.rb', line 297 def daemon_initializer "#{root_path}/config/initializers/#{self.daemon_name}.rb" end |
#environment ⇒ Object
287 288 289 |
# File 'lib/daemon_kit/initializer.rb', line 287 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
.
293 294 295 |
# File 'lib/daemon_kit/initializer.rb', line 293 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
302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 |
# File 'lib/daemon_kit/initializer.rb', line 302 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 |