Class: Announce::Adapters::BaseAdapter
- Inherits:
-
Object
- Object
- Announce::Adapters::BaseAdapter
- Defined in:
- lib/announce/adapters/base_adapter.rb
Direct Known Subclasses
Defined Under Namespace
Classes: BrokerManager, Destination, Queue, Subscriber, Topic
Class Method Summary collapse
- .adapter_constantize(name) ⇒ Object
-
.configure_broker(options) ⇒ Object
required.
-
.publish(subject, action, body, options = {}) ⇒ Object
required.
-
.subscribe(worker_class, subject, actions = [], options = {}) ⇒ Object
required.
Class Method Details
.adapter_constantize(name) ⇒ Object
31 32 33 34 35 |
# File 'lib/announce/adapters/base_adapter.rb', line 31 def adapter_constantize(name) a_klass = Announce.[:adapter].to_s.camelize klass = name.to_s.camelize "::Announce::Adapters::#{a_klass}Adapter::#{klass}".constantize end |
.configure_broker(options) ⇒ Object
required
26 27 28 29 |
# File 'lib/announce/adapters/base_adapter.rb', line 26 def configure_broker() broker_manager = adapter_constantize(:broker_manager).new() broker_manager.configure end |
.publish(subject, action, body, options = {}) ⇒ Object
required
12 13 14 15 16 17 |
# File 'lib/announce/adapters/base_adapter.rb', line 12 def publish(subject, action, body, = {}) topic = adapter_constantize(:topic).new(subject, action, ) msg = Announce::Message.new(subject: subject, action: action, body: body) topic.publish(msg., ) end |
.subscribe(worker_class, subject, actions = [], options = {}) ⇒ Object
required
20 21 22 23 |
# File 'lib/announce/adapters/base_adapter.rb', line 20 def subscribe(worker_class, subject, actions = [], = {}) subscriber = adapter_constantize(:subscriber).new subscriber.subscribe(worker_class, subject, actions, ) end |