Module: Distribot
- Defined in:
- lib/distribot.rb,
lib/distribot/flow.rb,
lib/distribot/phase.rb,
lib/distribot/worker.rb,
lib/distribot/handler.rb,
lib/distribot/connector.rb,
lib/distribot/phase_handler.rb,
lib/distribot/flow_created_handler.rb,
lib/distribot/flow_finished_handler.rb,
lib/distribot/phase_started_handler.rb,
lib/distribot/task_finished_handler.rb,
lib/distribot/phase_finished_handler.rb,
lib/distribot/handler_finished_handler.rb
Defined Under Namespace
Modules: Handler, Worker
Classes: BunnyConnector, ConnectionSharer, Connector, Flow, FlowCanceledError, FlowCreatedHandler, FlowFinishedHandler, FlowPausedError, HandlerFinishedHandler, MultiSubscription, NotPausedError, NotRunningError, Phase, PhaseFinishedHandler, PhaseHandler, PhaseStartedHandler, Subscription, TaskFinishedHandler
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.config ⇒ Object
Returns the value of attribute config.
23
24
25
|
# File 'lib/distribot.rb', line 23
def config
@config
end
|
.connector ⇒ Object
Returns the value of attribute connector.
23
24
25
|
# File 'lib/distribot.rb', line 23
def connector
@connector
end
|
.debug ⇒ Object
Returns the value of attribute debug.
23
24
25
|
# File 'lib/distribot.rb', line 23
def debug
@debug
end
|
Returns the value of attribute did_configure.
23
24
25
|
# File 'lib/distribot.rb', line 23
def did_configure
@did_configure
end
|
.logger ⇒ Object
Returns the value of attribute logger.
23
24
25
|
# File 'lib/distribot.rb', line 23
def logger
@logger
end
|
.redis ⇒ Object
Returns the value of attribute redis.
23
24
25
|
# File 'lib/distribot.rb', line 23
def redis
@redis
end
|
Class Method Details
.broadcast!(topic, data) ⇒ Object
93
94
95
|
# File 'lib/distribot.rb', line 93
def broadcast!(topic, data)
connector.broadcast(topic, data)
end
|
.configuration ⇒ Object
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/distribot.rb', line 47
def configuration
unless @did_configure
reset_configuration!
configure do |config|
config.redis_url = ENV['DISTRIBOT_REDIS_URL']
config.rabbitmq_url = ENV['DISTRIBOT_RABBITMQ_URL']
end
end
self.config
end
|
34
35
36
37
38
39
40
41
|
# File 'lib/distribot.rb', line 34
def configure(&block)
reset_configuration!
@did_configure = true
block.call(configuration)
configuration.redis_prefix ||= 'distribot'
configuration.queue_prefix ||= 'distribot'
end
|
.publish!(topic, data) ⇒ Object
83
84
85
|
# File 'lib/distribot.rb', line 83
def publish!(topic, data)
connector.publish(topic, data)
end
|
.queue_exists?(name) ⇒ Boolean
58
59
60
|
# File 'lib/distribot.rb', line 58
def queue_exists?(name)
connector.queue_exists?(name)
end
|
.redis_id(type, id) ⇒ Object
79
80
81
|
# File 'lib/distribot.rb', line 79
def redis_id(type, id)
"#{configuration.redis_prefix}-#{type}:#{id}"
end
|
.reset_configuration! ⇒ Object
28
29
30
31
32
|
# File 'lib/distribot.rb', line 28
def reset_configuration!
self.config = OpenStruct.new
self.did_configure = false
self.redis = nil
end
|
.subscribe(topic, options = {}, &block) ⇒ Object
87
88
89
90
91
|
# File 'lib/distribot.rb', line 87
def subscribe(topic, options = {}, &block)
connector.subscribe(topic, options) do |message|
block.call(message)
end
end
|
.subscribe_multi(topic, options = {}, &block) ⇒ Object
97
98
99
100
101
|
# File 'lib/distribot.rb', line 97
def subscribe_multi(topic, options = {}, &block)
connector.subscribe_multi(topic, options) do |message|
block.call(message)
end
end
|