Module: RaceGuard::DBLockAuditor::ReadModifyWrite
- Defined in:
- lib/race_guard/db_lock_auditor/read_modify_write.rb
Defined Under Namespace
Modules: Patches, ReadModWriteImpl, RelationPatches
Constant Summary collapse
- DETECTOR =
'db_lock_auditor:read_modify_write'- INSTALL_MUTEX =
Mutex.new
Class Method Summary collapse
Class Method Details
.install! ⇒ Object
321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 |
# File 'lib/race_guard/db_lock_auditor/read_modify_write.rb', line 321 def install! return unless defined?(::ActiveRecord::Base) INSTALL_MUTEX.synchronize do base_missing = !::ActiveRecord::Base.ancestors.include?(Patches) rel_missing = defined?(::ActiveRecord::Relation) && !::ActiveRecord::Relation.ancestors.include?(RelationPatches) return unless base_missing || rel_missing ::ActiveRecord::Base.prepend(Patches) if base_missing ::ActiveRecord::Relation.prepend(RelationPatches) if rel_missing @installed = true end self end |