class Announcer::Publishers::ResquePublisher
Public Class Methods
new(instance=nil, params={})
click to toggle source
Calls superclass method
Announcer::Publishers::Publisher::new
# File lib/announcer/publishers/resque_publisher.rb, line 8 def initialize(instance=nil, params={}) super _disallow_multiple_per_instance end
subscription_queue_formatter(config)
click to toggle source
# File lib/announcer/publishers/resque_publisher.rb, line 27 def subscription_queue_formatter(config) if config.subscription_queue_formatter? formatter = config.subscription_queue_formatter case formatter when Array formatter.last when Proc formatter else raise Errors::PublisherError, "Invalid subscription_queue_formatter: #{formatter.inspect}" end else lambda { |subscription| "subscriptions_p#{subscription.priority}" } end end
Public Instance Methods
publish(event)
click to toggle source
Calls superclass method
Announcer::Publishers::Publisher#publish
# File lib/announcer/publishers/resque_publisher.rb, line 13 def publish(event) super unless event.subscriptions.empty? PublisherJob.set_queue(config.publisher_queue.to_sym) Resque.enqueue(PublisherJob, event.serialize) end end
subscription_queue_formatter()
click to toggle source
# File lib/announcer/publishers/resque_publisher.rb, line 22 def subscription_queue_formatter self.class.subscription_queue_formatter(config) end
Private Instance Methods
_disallow_multiple_per_instance()
click to toggle source
# File lib/announcer/publishers/resque_publisher.rb, line 79 def _disallow_multiple_per_instance if instance.has_publisher?(:resque) raise Errors::PublisherError, "cannot have multiple ResquePublishers in an Announcer instance" end end