Class: Qs::Daemon::Configuration
- Inherits:
-
Object
- Object
- Qs::Daemon::Configuration
- Includes:
- NsOptions::Proxy
- Defined in:
- lib/qs/daemon.rb
Instance Attribute Summary collapse
-
#error_procs ⇒ Object
Returns the value of attribute error_procs.
-
#init_procs ⇒ Object
Returns the value of attribute init_procs.
-
#queues ⇒ Object
Returns the value of attribute queues.
-
#worker_class ⇒ Object
Returns the value of attribute worker_class.
-
#worker_params ⇒ Object
Returns the value of attribute worker_params.
Instance Method Summary collapse
-
#initialize(values = nil) ⇒ Configuration
constructor
A new instance of Configuration.
- #routes ⇒ Object
- #to_hash ⇒ Object
- #valid? ⇒ Boolean
- #validate! ⇒ Object
Constructor Details
#initialize(values = nil) ⇒ Configuration
Returns a new instance of Configuration.
260 261 262 263 264 265 266 267 |
# File 'lib/qs/daemon.rb', line 260 def initialize(values = nil) super(values) @init_procs, @error_procs = [], [] @worker_class = DefaultWorker @worker_params = nil @queues = [] @valid = nil end |
Instance Attribute Details
#error_procs ⇒ Object
Returns the value of attribute error_procs.
256 257 258 |
# File 'lib/qs/daemon.rb', line 256 def error_procs @error_procs end |
#init_procs ⇒ Object
Returns the value of attribute init_procs.
256 257 258 |
# File 'lib/qs/daemon.rb', line 256 def init_procs @init_procs end |
#queues ⇒ Object
Returns the value of attribute queues.
258 259 260 |
# File 'lib/qs/daemon.rb', line 258 def queues @queues end |
#worker_class ⇒ Object
Returns the value of attribute worker_class.
257 258 259 |
# File 'lib/qs/daemon.rb', line 257 def worker_class @worker_class end |
#worker_params ⇒ Object
Returns the value of attribute worker_params.
257 258 259 |
# File 'lib/qs/daemon.rb', line 257 def worker_params @worker_params end |
Instance Method Details
#routes ⇒ Object
269 270 271 |
# File 'lib/qs/daemon.rb', line 269 def routes @queues.map(&:routes).flatten end |
#to_hash ⇒ Object
273 274 275 276 277 278 279 280 281 |
# File 'lib/qs/daemon.rb', line 273 def to_hash super.merge({ :error_procs => self.error_procs, :worker_class => self.worker_class, :worker_params => self.worker_params, :routes => self.routes, :queue_redis_keys => self.queues.map(&:redis_key) }) end |
#valid? ⇒ Boolean
283 284 285 |
# File 'lib/qs/daemon.rb', line 283 def valid? !!@valid end |
#validate! ⇒ Object
287 288 289 290 291 292 293 294 295 296 297 298 |
# File 'lib/qs/daemon.rb', line 287 def validate! return @valid if !@valid.nil? self.init_procs.each(&:call) if self.queues.empty? || !self.required_set? raise InvalidError, "a name and queue must be configured" end if !self.worker_class.kind_of?(Class) || !self.worker_class.include?(Qs::Worker) raise InvalidError, "worker class must include `#{Qs::Worker}`" end self.routes.each(&:validate!) @valid = true end |