Sha256: 826f13b0d801cb771a6702a6d140142a2dc6dd99a24b5860da362344a3d275e1

Contents?: true

Size: 792 Bytes

Versions: 10

Compression:

Stored size: 792 Bytes

Contents

class ChecksumAuditLog < ActiveRecord::Base

  def self.get_audit_log(id, path, version_uri)
    ChecksumAuditLog.find_or_create_by(pid: id, dsid: path, version: version_uri)
  end

  # Check to see if there are previous passing logs that we can delete
  # we want to keep the first passing event after a failure, the most current passing event,
  # and all failures so that this table doesn't grow too large
  # Simple way (a little naieve): if the last 2 were passing, delete the first one
  def self.prune_history(id, path)
    list = logs_for(id, path).limit(2)
    if list.size > 1 && (list[0].pass == 1) && (list[1].pass == 1)
      list[0].destroy
    end
  end

  def self.logs_for(id, path)
    ChecksumAuditLog.where(pid: id, dsid: path).order('created_at desc, id desc')
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
sufia-6.0.0.rc4 sufia-models/app/models/checksum_audit_log.rb
sufia-models-6.0.0.rc4 app/models/checksum_audit_log.rb
sufia-6.0.0.rc3 sufia-models/app/models/checksum_audit_log.rb
sufia-models-6.0.0.rc3 app/models/checksum_audit_log.rb
sufia-6.0.0.rc2 sufia-models/app/models/checksum_audit_log.rb
sufia-models-6.0.0.rc2 app/models/checksum_audit_log.rb
sufia-6.0.0.rc1 sufia-models/app/models/checksum_audit_log.rb
sufia-models-6.0.0.rc1 app/models/checksum_audit_log.rb
sufia-6.0.0.beta1 sufia-models/app/models/checksum_audit_log.rb
sufia-models-6.0.0.beta1 app/models/checksum_audit_log.rb