Class: PostHog::Rails::Railtie

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.rails_version_above_7?Boolean

Returns:

  • (Boolean)


131
132
133
# File 'lib/posthog/rails/railtie.rb', line 131

def self.rails_version_above_7?
  ::Rails.version.to_f >= 7.0
end

.register_error_subscriberObject



121
122
123
124
125
126
127
128
129
# File 'lib/posthog/rails/railtie.rb', line 121

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

Instance Method Details

#insert_middleware_after(app, target, middleware) ⇒ Object



114
115
116
117
118
119
# File 'lib/posthog/rails/railtie.rb', line 114

def insert_middleware_after(app, target, middleware)
  # During initialization, app.config.middleware is a MiddlewareStackProxy
  # which only supports recording operations (insert_after, use, etc.)
  # and does NOT support query methods like include?.
  app.config.middleware.insert_after(target, middleware)
end