module Exlibris::Primo::Pnx::Holdings
Handle holdings in availlibrary tags.
Public Instance Methods
holdings()
click to toggle source
Gather Holdings
for this record.
# File lib/exlibris/primo/pnx/holdings.rb, line 11 def holdings @holdings ||= xml.root.xpath("display/availlibrary").collect do |availlibrary| subfields = parse_subfields availlibrary.inner_text # Get original id for dealing w/ dedup merger records original_id = (subfields["O"]) ? subfields["O"] : recordid # Get some info that may or may not be in the PNX metadata title = self.display_title if self.respond_to? :display_title author = self.display_creator if self.respond_to? :display_creator display_type = self.display_type if self.respond_to? :display_type # Add a new holding to the record's holdings. Exlibris::Primo::Holding.new( :availlibrary => availlibrary.inner_text, :record_id => recordid, :original_id => original_id, :title => title, :author => author, :display_type => display_type, :original_source_id => originalsourceids[original_id], :source_id => sourceids[original_id], :source_record_id => sourcerecordids[original_id], :ils_api_id => ilsapiids[original_id], :institution_code => subfields["I"], :library_code => subfields["L"], :collection => subfields["1"], :call_number => subfields["2"], :subfields => subfields, :availability_status_code => subfields["S"]) end end