class Marginalia::Railtie
def self.insert
def self.insert insert_into_active_record insert_into_action_controller insert_into_active_job end
def self.insert_into_action_controller
def self.insert_into_action_controller ActionController::Base.send(:include, ActionControllerInstrumentation) if defined? ActionController::API ActionController::API.send(:include, ActionControllerInstrumentation) end end
def self.insert_into_active_job
def self.insert_into_active_job if defined? ActiveJob::Base ActiveJob::Base.class_eval do around_perform do |job, block| begin Marginalia::Comment.update_job! job block.call ensure Marginalia::Comment.clear_job! end end end end end
def self.insert_into_active_record
def self.insert_into_active_record if defined? ActiveRecord::ConnectionAdapters::Mysql2Adapter ActiveRecord::ConnectionAdapters::Mysql2Adapter.module_eval do include Marginalia::ActiveRecordInstrumentation end end if defined? ActiveRecord::ConnectionAdapters::MysqlAdapter ActiveRecord::ConnectionAdapters::MysqlAdapter.module_eval do include Marginalia::ActiveRecordInstrumentation end end if defined? ActiveRecord::ConnectionAdapters::PostgreSQLAdapter ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.module_eval do include Marginalia::ActiveRecordInstrumentation end end if defined? ActiveRecord::ConnectionAdapters::SQLite3Adapter ActiveRecord::ConnectionAdapters::SQLite3Adapter.module_eval do include Marginalia::ActiveRecordInstrumentation end end end