Sha256: dc4eced694fdb39f30a0a7bf4de67eccc9a6bc1e5dafc9549f75b98ce757615b
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
module ActiveFedora class FixtureLoader attr_accessor :path def initialize(path) self.path = path end def filename_for_pid(pid) File.join(path, "#{pid.gsub(":","_")}.foxml.xml") end def self.delete(pid) begin ActiveFedora::Base.find(pid, cast: true).delete 1 rescue ActiveFedora::ObjectNotFoundError logger.debug "The object #{pid} has already been deleted (or was never created)." 0 rescue Errno::ECONNREFUSED => e logger.debug "Can't connect to Fedora! Are you sure jetty is running?" 0 end end def reload(pid) self.class.delete(pid) import_and_index(pid) end def import_and_index(pid) body = self.class.import_to_fedora(filename_for_pid(pid), pid) self.class.index(pid) body end def self.index(pid) ActiveFedora::Base.find(pid, :cast: true).update_index end def self.import_to_fedora(filename, pid='0') file = File.new(filename, "r") result = ActiveFedora::Base.connection_for_pid(pid).ingest(:file=>file.read) raise "Failed to ingest the fixture." unless result result.body end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
active-fedora-6.6.0.pre3 | lib/active_fedora/fixture_loader.rb |