class SyncClient::QueuePublisher
Attributes
sync_queues[RW]
Public Class Methods
new()
click to toggle source
# File lib/sync_client/queue_publisher.rb, line 5 def initialize self.sync_queues = [] end
Public Instance Methods
add_publisher(attributes, options)
click to toggle source
# File lib/sync_client/queue_publisher.rb, line 9 def add_publisher(attributes, options) self.sync_queues << SyncClient::SyncQueue.new(attributes, options) end
publish(action, object, options = {})
click to toggle source
# File lib/sync_client/queue_publisher.rb, line 13 def publish(action, object, options = {}) sync_queues.each do |sync_queue| SyncClient.logger.info("#{sync_queue.inspect}") queue_message(action, object, sync_queue.queue).publish if options[:force] || sync_queue.publishable?(action, object) end end
queue_message(action, object, queue)
click to toggle source
# File lib/sync_client/queue_publisher.rb, line 20 def queue_message(action, object, queue) SyncClient::PubMessage.new( :queue => queue, :action => action, :object_type => object.class.to_s, :object_attributes => object.publisher_attributes) end