Module: Distribot::Handler

Defined Under Namespace

Modules: ClassMethods

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#consumersObject

Returns the value of attribute consumers.



4
5
6
# File 'lib/distribot/handler.rb', line 4

def consumers
  @consumers
end

#queue_nameObject

Returns the value of attribute queue_name.



4
5
6
# File 'lib/distribot/handler.rb', line 4

def queue_name
  @queue_name
end

Class Method Details

.handler_for(klass) ⇒ Object



19
20
21
# File 'lib/distribot/handler.rb', line 19

def self.handler_for(klass)
  klass.handler
end

.included(base) ⇒ Object



6
7
8
# File 'lib/distribot/handler.rb', line 6

def self.included(base)
  base.extend ClassMethods
end

.queue_for(klass) ⇒ Object



23
24
25
# File 'lib/distribot/handler.rb', line 23

def self.queue_for(klass)
  klass.queue
end

Instance Method Details

#initializeObject



10
11
12
13
14
15
16
17
# File 'lib/distribot/handler.rb', line 10

def initialize
  self.consumers = []
  self.queue_name = self.class.queue
  handler = self.class.handler
  Distribot.subscribe(queue_name, self.class.subscribe_args) do |message|
    send(handler, message)
  end
end