class Hyrax::Preservation::EventLogger

Public Class Methods

log_preservation_event(opts={}) click to toggle source
# File lib/hyrax/preservation/event_logger.rb, line 6
def self.log_preservation_event(opts={})
  Preservation::Event.new.tap do |pe|
    pe.premis_event_type += [ Preservation::PremisEventType.all.select { |premis_event_type| premis_event_type.abbr == opts[:premis_event_type].to_sym } ]
    pe.premis_event_related_object = opts[:file_set]
    # Assume opts[:premis_agent] is an email address, and make a 'mailto:' RDF::URI out of it.
    pe.premis_agent += [::RDF::URI.new("mailto:#{opts[:premis_agent]}")]
    pe.premis_event_date_time += [opts[:premis_event_date_time]]
    pe.save!
  end
end