Module: Julewire::Karafka
- Extended by:
- Core::Integration::Configurable
- Defined in:
- lib/julewire/karafka.rb,
lib/julewire/karafka/version.rb,
lib/julewire/karafka/installer.rb,
lib/julewire/karafka/fork_hooks.rb,
lib/julewire/karafka/configuration.rb,
lib/julewire/karafka/event_payload.rb,
lib/julewire/karafka/event_severity.rb,
lib/julewire/karafka/payload_reader.rb,
lib/julewire/karafka/message_context.rb,
lib/julewire/karafka/monitor_listener.rb,
lib/julewire/karafka/message_execution.rb,
lib/julewire/karafka/waterdrop_installer.rb,
lib/julewire/karafka/messaging_attributes.rb,
lib/julewire/karafka/monitor_subscription.rb,
lib/julewire/karafka/waterdrop_middleware.rb
Defined Under Namespace
Modules: EventPayload, EventSeverity, ForkHooks, Installer, MessageContext, MessageExecution, MessagingAttributes, PayloadReader, WaterdropInstaller
Classes: Configuration, Error, InstallResult, MonitorListener, WaterdropMiddleware
Constant Summary
collapse
- IntegrationHealth =
Core::Integration::Health.scoped(:karafka)
- VERSION =
"1.0.0"
Class Method Summary
collapse
Class Method Details
.inject!(message, configuration: config) ⇒ Object
29
30
31
|
# File 'lib/julewire/karafka.rb', line 29
def inject!(message, configuration: config)
WaterdropMiddleware.new(configuration: configuration).call(message)
end
|
.install!(app: nil, monitor: nil, producer: nil, consumer: true, configuration: config) ⇒ Object
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/julewire/karafka.rb', line 18
def install!(app: nil, monitor: nil, producer: nil, consumer: true, configuration: config)
return false unless configuration.enabled?
consumer_result = Installer.install!(app: app, monitor: monitor, configuration: configuration) if consumer
producer_result = WaterdropInstaller.install!(producer, configuration: configuration) if producer
return InstallResult.new(consumer_result, producer_result) if consumer && producer
producer ? producer_result : consumer_result
end
|
.with_message(message, configuration: config) ⇒ Object
33
34
35
|
# File 'lib/julewire/karafka.rb', line 33
def with_message(message, configuration: config, &)
MessageContext.call(message, configuration: configuration, &)
end
|
.with_message_execution(message, configuration: config, **execution_options) ⇒ Object
37
38
39
|
# File 'lib/julewire/karafka.rb', line 37
def with_message_execution(message, configuration: config, **execution_options, &)
MessageExecution.call(message, configuration: configuration, **execution_options, &)
end
|