Sha256: 28367afd517ce0f3222762260be48b52aba6cb827eb78f63f28ec3b037f1688c
Contents?: true
Size: 1.37 KB
Versions: 2
Compression:
Stored size: 1.37 KB
Contents
module Octoshark module ActiveRecordBase extend ActiveSupport::Concern included do class << self alias_method_chain :establish_connection, :octoshark end end module ClassMethods # When a connection is established in an ancestor process that must have # subsequently forked, ActiveRecord establishes a new connection because # it can't reuse the existing one. When that happens, we need to reconnect # Octoshark connection managers. def establish_connection_with_octoshark(*args) establish_connection_without_octoshark(*args) Octoshark.reset_connection_managers! end end end module ActiveRecordAbstractAdapter extend ActiveSupport::Concern attr_accessor :connection_name, :database_name included do alias_method_chain :log, :octoshark end def log_with_octoshark(sql, name = "SQL", *other_args, &block) if connection_name if database_name name = "[Octoshark: #{connection_name} #{database_name}] #{name}" else name = "[Octoshark: #{connection_name}] #{name}" end end log_without_octoshark(sql, name, *other_args, &block) end end end ActiveRecord::Base.send(:include, Octoshark::ActiveRecordBase) ActiveRecord::ConnectionAdapters::AbstractAdapter.send(:include, Octoshark::ActiveRecordAbstractAdapter)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
octoshark-0.1.2 | lib/octoshark/active_record_extensions.rb |
octoshark-0.1.1 | lib/octoshark/active_record_extensions.rb |