Class: Announce::Adapters::ShoryukenAdapter::BrokerManager

Inherits:
BaseAdapter::BrokerManager show all
Defined in:
lib/announce/adapters/shoryuken_adapter.rb

Instance Attribute Summary

Attributes inherited from BaseAdapter::BrokerManager

#options

Instance Method Summary collapse

Methods inherited from BaseAdapter::BrokerManager

#initialize

Constructor Details

This class inherits a constructor from Announce::Adapters::BaseAdapter::BrokerManager

Instance Method Details

#configureObject

actually configure the broker queues, topics, and subscriptions



50
51
52
53
54
55
56
57
58
59
60
# File 'lib/announce/adapters/shoryuken_adapter.rb', line 50

def configure
  if options[:verify_only]
    Announce.logger.warn(
      "Running Announce BrokerManager configure in verify_only mode."
    )
    Announce.logger.warn(
      "Resources will be logged, not created; please verify they exist."
    )
  end
  configure_publishing && configure_subscribing
end

#configure_publishingObject



62
63
64
65
66
67
68
69
70
# File 'lib/announce/adapters/shoryuken_adapter.rb', line 62

def configure_publishing
  (options[:publish] || {}).each do |subject, actions|
    Array(actions).each do |action|
      topic = ShoryukenAdapter::Topic.new(subject, action, options)
      options[:verify_only] ? topic.verify : topic.create
    end
  end
  true
end

#configure_subscribingObject



72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/announce/adapters/shoryuken_adapter.rb', line 72

def configure_subscribing
  (options[:subscribe] || {}).each do |subject, actions|
    Array(actions).each do |action|
      topic = ShoryukenAdapter::Topic.new(subject, action, options)
      queue = ShoryukenAdapter::Queue.new(subject, action, options)
      if options[:verify_only]
        topic.verify
        queue.verify
        topic.verify_subscription(queue)
      else
        topic.create
        queue.create
        topic.subscribe(queue)
      end
    end
  end
  true
end