Method: Pgq::Worker.predict_queue_class

Defined in:
lib/pgq/worker.rb

.predict_queue_class(queue) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/pgq/worker.rb', line 6

def self.predict_queue_class(queue)
  klass = nil
  unless klass
    queue.to_s.match(/([a-z_]+)/i)
    klass_s = $1.to_s
    klass_s.chop! if klass_s.size > 0 && klass_s[-1].chr == '_'
    klass_s = "pgq_" + klass_s unless klass_s.start_with?("pgq_")
    klass = klass_s.camelize.constantize rescue nil
    klass = nil unless klass.is_a?(Class)
  end    
  klass    
end