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, and configure_broker are the 3 required methods for an adapter this base adapter also has some helpful base classes, but they are not necessary you could write an adapter from scratch so long as the class has these 3 class methods.
Defined Under Namespace
Modules: Adapters, Publisher, Subscriber, Testing
Classes: Configuration, Message, Railtie
Constant Summary
collapse
- VERSION =
"0.2.3"
Class Method Summary
collapse
Class Method Details
.adapter_class ⇒ Object
37
38
39
40
41
|
# File 'lib/announce.rb', line 37
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
|
32
33
34
35
|
# File 'lib/announce.rb', line 32
def configure(opts = {})
Announce::Configuration.configure(opts)
yield @options if block_given?
end
|
24
25
26
|
# File 'lib/announce.rb', line 24
def configure_broker
adapter_class.configure_broker(options)
end
|
.logger ⇒ Object
43
44
45
46
47
48
49
|
# File 'lib/announce.rb', line 43
def logger
@logger ||= if defined?(Rails)
Rails.logger
else
Logger.new(STDOUT)
end
end
|
.logger=(l) ⇒ Object
51
52
53
|
# File 'lib/announce.rb', line 51
def logger=(l)
@logger = l
end
|
.options ⇒ Object
28
29
30
|
# File 'lib/announce.rb', line 28
def options
@options ||= Announce::Configuration.default_options
end
|
.publish(subject, action, message, options = {}) ⇒ Object
Also known as:
announce
14
15
16
|
# File 'lib/announce.rb', line 14
def publish(subject, action, message, options={})
adapter_class.publish(subject, action, message, options)
end
|
.subscribe(worker_class, subject, actions = [], options = {}) ⇒ Object
20
21
22
|
# File 'lib/announce.rb', line 20
def subscribe(worker_class, subject, actions = [], options = {})
adapter_class.subscribe(worker_class, subject, actions, options)
end
|