Class: Kinetic::Publisher

Inherits:
Object
  • Object
show all
Includes:
DSL::Configuration, Singleton
Defined in:
lib/kinetic/publisher.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from DSL::Configuration

#config, #config_file, #set

Constructor Details

#initializePublisher

Returns a new instance of Publisher.



24
25
26
27
28
# File 'lib/kinetic/publisher.rb', line 24

def initialize
  logger.debug "Using serializer #{config.serializer}"
  require_relative "./serializers/#{config.serializer.to_s.downcase}"
  @serializer = Kinetic::Serializers.const_get(config.serializer)
end

Class Method Details

.method_missing(meth, *args, &block) ⇒ Object



18
19
20
# File 'lib/kinetic/publisher.rb', line 18

def method_missing(meth, *args, &block)
  self.instance.send(meth, *args, &block)
end

Instance Method Details

#publish_direct(key, message) ⇒ Object Also known as: publish



39
40
41
# File 'lib/kinetic/publisher.rb', line 39

def publish_direct(key, message)
  direct_exchange.publish(serialize(message), routing_key: key)
end

#publish_fanout(key, message) ⇒ Object



35
36
37
# File 'lib/kinetic/publisher.rb', line 35

def publish_fanout(key, message)
  fanout_exchange.publish(serialize(message), routing_key: key)
end

#publish_topic(key, message) ⇒ Object



30
31
32
33
# File 'lib/kinetic/publisher.rb', line 30

def publish_topic(key, message)
  topic_exchange.publish(serialize(message), routing_key: key)
  true
end