Module: Sufia::GenericFile::Audit::ClassMethods
- Defined in:
- app/models/concerns/sufia/generic_file/audit.rb
Instance Method Summary collapse
- #audit(version, force = false) ⇒ Object
- #audit!(version) ⇒ Object
- #audit_everything(force = false) ⇒ Object
- #audit_everything! ⇒ Object
- #needs_audit?(version, latest_audit) ⇒ Boolean
- #run_audit(version) ⇒ Object
Instance Method Details
#audit(version, force = false) ⇒ Object
73 74 75 |
# File 'app/models/concerns/sufia/generic_file/audit.rb', line 73 def audit(version, force = false) latest_audit = self.find(version.pid).audit_each( version, force) end |
#audit!(version) ⇒ Object
69 70 71 |
# File 'app/models/concerns/sufia/generic_file/audit.rb', line 69 def audit!(version) ::GenericFile.audit(version, true) end |
#audit_everything(force = false) ⇒ Object
89 90 91 92 93 94 95 |
# File 'app/models/concerns/sufia/generic_file/audit.rb', line 89 def audit_everything(force = false) ::GenericFile.find_each do |gf| gf.per_version do |ver| ::GenericFile.audit(ver, force) end end end |
#audit_everything! ⇒ Object
97 98 99 |
# File 'app/models/concerns/sufia/generic_file/audit.rb', line 97 def audit_everything! ::GenericFile.audit_everything(true) end |
#needs_audit?(version, latest_audit) ⇒ Boolean
77 78 79 80 81 82 83 84 85 86 87 |
# File 'app/models/concerns/sufia/generic_file/audit.rb', line 77 def needs_audit?(version, latest_audit) if latest_audit and latest_audit.updated_at days_since_last_audit = (DateTime.now - latest_audit.updated_at.to_date).to_i if days_since_last_audit < Sufia.config.max_days_between_audits return false end else logger.warn "***AUDIT*** problem with audit log! Latest Audit is not nil, but updated_at is not set #{latest_audit}" unless latest_audit.nil? end true end |
#run_audit(version) ⇒ Object
101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'app/models/concerns/sufia/generic_file/audit.rb', line 101 def run_audit(version) if version.dsChecksumValid passing = 1 ChecksumAuditLog.prune_history(version) else logger.warn "***AUDIT*** Audit failed for #{version.pid} #{version.versionID}" passing = 0 end check = ChecksumAuditLog.create!(pass: passing, pid: version.pid, dsid: version.dsid, version: version.versionID) check end |