Class: AngieCoreApi::Message::Queue

Inherits:
Object
  • Object
show all
Defined in:
lib/angie-core-api/message/queue.rb

Class Method Summary collapse

Class Method Details

.classesObject



6
7
8
9
10
11
12
# File 'lib/angie-core-api/message/queue.rb', line 6

def self.classes
  Dir["app/queues/*.rb"].
    map { |file| File.basename(file, ".rb") }.
    select { |type| type != "application_queue" }.
    map(&:camelize).
    map(&:constantize)
end

.publish(message) ⇒ Object



19
20
21
# File 'lib/angie-core-api/message/queue.rb', line 19

def self.publish(message)
  StompClient.new.async.publish(queue, message)
end

.queueObject



14
15
16
17
# File 'lib/angie-core-api/message/queue.rb', line 14

def self.queue
  path = name.underscore.sub("_queue", "")
  "/queue/#{path}"
end

.subscribeObject



23
24
25
26
27
# File 'lib/angie-core-api/message/queue.rb', line 23

def self.subscribe
  StompClient.new.async.subscribe(queue) do |message|
    self.new.receive(message)
  end
end