Module: JetstreamBridge::ConfigHelpers::Lifecycle
- Defined in:
- lib/jetstream_bridge/config_helpers/lifecycle.rb
Class Method Summary collapse
Class Method Details
.default_rails_logger(app = nil) ⇒ Object
27 28 29 30 31 |
# File 'lib/jetstream_bridge/config_helpers/lifecycle.rb', line 27 def default_rails_logger(app = nil) return app.logger if app.respond_to?(:logger) defined?(Rails) && Rails.respond_to?(:logger) ? Rails.logger : nil end |
.setup(logger: nil, rails_app: nil) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/jetstream_bridge/config_helpers/lifecycle.rb', line 8 def setup(logger: nil, rails_app: nil) app = rails_app app ||= Rails.application if defined?(Rails) && Rails.respond_to?(:application) # Gracefully no-op when Rails isn't available (e.g., non-Rails runtimes or early boot) return unless app effective_logger = logger || default_rails_logger(app) app.config.after_initialize do JetstreamBridge.startup! effective_logger&.info('JetStream Bridge connected successfully') rescue StandardError => e effective_logger&.error("Failed to connect to JetStream: #{e.message}") end Kernel.at_exit { JetstreamBridge.shutdown! } end |