Module: Announce
- Defined in:
- lib/announce/adapters/base_adapter.rb,
lib/announce.rb,
lib/announce/message.rb,
lib/announce/railtie.rb,
lib/announce/testing.rb,
lib/announce/version.rb,
lib/announce/publisher.rb,
lib/announce/subscriber.rb,
lib/announce/configuration.rb,
lib/announce/adapters/test_adapter.rb,
lib/announce/adapters/inline_adapter.rb,
lib/announce/adapters/shoryuken_adapter.rb
Overview
publish, subscribe, & configure_broker are the 3 required methods for adapters the base adapter also has helpful base classes, but they are not necessary you can write an adapter from scratch, but these 3 class methods are required.
Defined Under Namespace
Modules: Adapters, Publisher, Subscriber, Testing
Classes: Configuration, Message, Railtie
Constant Summary
collapse
- VERSION =
"0.3.0"
Class Method Summary
collapse
Class Method Details
.adapter_class ⇒ Object
36
37
38
39
40
41
|
# File 'lib/announce.rb', line 36
def adapter_class
announce_adapter = Announce.options[:adapter]
require "announce/adapters/#{announce_adapter.to_s.downcase}_adapter"
"::Announce::Adapters::#{announce_adapter.to_s.camelize}Adapter"
.constantize
end
|
23
24
25
|
# File 'lib/announce.rb', line 23
def configure_broker(opts = {})
adapter_class.configure_broker(options.merge(opts))
end
|
.logger ⇒ Object
43
44
45
|
# File 'lib/announce.rb', line 43
def logger
@logger ||= defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
end
|
.logger=(l) ⇒ Object
47
48
49
|
# File 'lib/announce.rb', line 47
def logger=(l)
@logger = l
end
|
.publish(subject, action, message, options = {}) ⇒ Object
Also known as:
announce
13
14
15
|
# File 'lib/announce.rb', line 13
def publish(subject, action, message, options = {})
adapter_class.publish(subject, action, message, options)
end
|
.subscribe(worker_class, subject, actions = [], options = {}) ⇒ Object
19
20
21
|
# File 'lib/announce.rb', line 19
def subscribe(worker_class, subject, actions = [], options = {})
adapter_class.subscribe(worker_class, subject, actions, options)
end
|