Class: PostHog::Rails::Railtie

Inherits:
Rails::Railtie
  • Object
show all
Defined in:
lib/posthog/rails/railtie.rb

Class Method Summary collapse

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

Returns:

  • (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_subscriberObject



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.message}")
  PostHog::Logging.logger.warn("Backtrace: #{e.backtrace&.first(5)&.join("\n")}")
end