Module: JetstreamBridge::ConfigHelpers
- Defined in:
- lib/jetstream_bridge/config_helpers.rb,
lib/jetstream_bridge/config_helpers/lifecycle.rb
Overview
Convenience helpers to keep example configuration lean and consistent.
Defined Under Namespace
Modules: Lifecycle
Constant Summary collapse
- DEFAULT_STREAM =
'sync-stream'- DEFAULT_BACKOFF =
%w[1s 5s 15s 30s 60s].freeze
- DEFAULT_ACK_WAIT =
'30s'- DEFAULT_MAX_DELIVER =
5
Class Method Summary collapse
-
.configure_bidirectional(app_name:, destination_app:, mode: :non_restrictive, stream_name: DEFAULT_STREAM, nats_url: ENV.fetch('NATS_URL', 'nats://nats:4222'), use_outbox: true, use_inbox: true, logger: nil, **overrides) {|config| ... } ⇒ JetstreamBridge::Config
Configure a bidirectional bridge with sensible defaults.
-
.setup_rails_lifecycle(logger: nil, rails_app: nil) ⇒ Object
Wire JetstreamBridge lifecycle into Rails boot/shutdown.
Class Method Details
.configure_bidirectional(app_name:, destination_app:, mode: :non_restrictive, stream_name: DEFAULT_STREAM, nats_url: ENV.fetch('NATS_URL', 'nats://nats:4222'), use_outbox: true, use_inbox: true, logger: nil, **overrides) {|config| ... } ⇒ JetstreamBridge::Config
Configure a bidirectional bridge with sensible defaults.
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/jetstream_bridge/config_helpers.rb', line 33 def configure_bidirectional( app_name:, destination_app:, mode: :non_restrictive, stream_name: DEFAULT_STREAM, nats_url: ENV.fetch('NATS_URL', 'nats://nats:4222'), use_outbox: true, use_inbox: true, logger: nil, **overrides ) JetstreamBridge.configure do |config| apply_base_settings(config, app_name, destination_app, stream_name, nats_url, use_outbox, use_inbox, mode, overrides) apply_reliability_defaults(config, overrides) config.logger = logger if logger apply_overrides(config, overrides) yield(config) if block_given? config end end |
.setup_rails_lifecycle(logger: nil, rails_app: nil) ⇒ Object
Wire JetstreamBridge lifecycle into Rails boot/shutdown.
57 58 59 |
# File 'lib/jetstream_bridge/config_helpers.rb', line 57 def setup_rails_lifecycle(logger: nil, rails_app: nil) Lifecycle.setup(logger: logger, rails_app: rails_app) end |