Module: Exlibris::Primo::Pnx::Holdings
- Included in:
- Record
- Defined in:
- lib/exlibris/primo/pnx/holdings.rb
Overview
Handle holdings in availlibrary tags.
Instance Method Summary collapse
-
#holdings ⇒ Object
Gather Holdings for this record.
Instance Method Details
#holdings ⇒ Object
Gather Holdings for this record.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# 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 = 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 => , :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 |