Class: PostHog::Rails::Railtie
- Inherits:
-
Rails::Railtie
- Object
- Rails::Railtie
- PostHog::Rails::Railtie
- Defined in:
- lib/posthog/rails/railtie.rb
Class Method Summary collapse
- .insert_middleware_after(app, target, middleware) ⇒ Object
- .rails_version_above_7? ⇒ Boolean
- .register_error_subscriber ⇒ Object
Class Method Details
.insert_middleware_after(app, target, middleware) ⇒ Object
114 115 116 117 118 119 120 121 |
# File 'lib/posthog/rails/railtie.rb', line 114 def self.insert_middleware_after(app, target, middleware) if app.config.middleware.include?(target) app.config.middleware.insert_after(target, middleware) else # Fallback: append to stack if target middleware is missing (e.g., API-only apps) app.config.middleware.use(middleware) end end |
.rails_version_above_7? ⇒ Boolean
133 134 135 |
# File 'lib/posthog/rails/railtie.rb', line 133 def self.rails_version_above_7? ::Rails.version.to_f >= 7.0 end |
.register_error_subscriber ⇒ Object
123 124 125 126 127 128 129 130 131 |
# File 'lib/posthog/rails/railtie.rb', line 123 def self.register_error_subscriber return unless PostHog::Rails.config&.auto_capture_exceptions subscriber = PostHog::Rails::ErrorSubscriber.new ::Rails.error.subscribe(subscriber) rescue StandardError => e PostHog::Logging.logger.warn("Failed to register error subscriber: #{e.}") PostHog::Logging.logger.warn("Backtrace: #{e.backtrace&.first(5)&.join("\n")}") end |