Class: Voyager::Holdings::Record
- Inherits:
-
Object
- Object
- Voyager::Holdings::Record
- Defined in:
- lib/holdings/record.rb
Instance Attribute Summary collapse
-
#bibid ⇒ Object
readonly
Returns the value of attribute bibid.
-
#call_number ⇒ Object
readonly
Returns the value of attribute call_number.
-
#current_issues ⇒ Object
readonly
Returns the value of attribute current_issues.
-
#donor_info ⇒ Object
readonly
Returns the value of attribute donor_info.
-
#holding_id ⇒ Object
readonly
Returns the value of attribute holding_id.
-
#indexes ⇒ Object
readonly
Returns the value of attribute indexes.
-
#item_count ⇒ Object
readonly
Returns the value of attribute item_count.
-
#item_status ⇒ Object
readonly
Returns the value of attribute item_status.
-
#location_name ⇒ Object
readonly
Returns the value of attribute location_name.
-
#notes ⇒ Object
readonly
Returns the value of attribute notes.
-
#notes_852 ⇒ Object
readonly
Returns the value of attribute notes_852.
-
#notes_866 ⇒ Object
readonly
Returns the value of attribute notes_866.
-
#orders ⇒ Object
readonly
Returns the value of attribute orders.
-
#reproduction_note ⇒ Object
readonly
Returns the value of attribute reproduction_note.
-
#services ⇒ Object
readonly
Returns the value of attribute services.
-
#shelving_title ⇒ Object
readonly
Returns the value of attribute shelving_title.
-
#summary_holdings ⇒ Object
readonly
Returns the value of attribute summary_holdings.
-
#supplements ⇒ Object
readonly
Returns the value of attribute supplements.
-
#temp_locations ⇒ Object
readonly
Returns the value of attribute temp_locations.
-
#urls ⇒ Object
readonly
Returns the value of attribute urls.
Instance Method Summary collapse
-
#initialize(xml_node, leader) ⇒ Record
constructor
Record class initializing method Populates instance variables from the mfhd:marcRecord node of the mfhd:mfhdRecord node.
-
#to_hash ⇒ Object
Collect data from all variables into a hash.
Constructor Details
#initialize(xml_node, leader) ⇒ Record
Record class initializing method Populates instance variables from the mfhd:marcRecord node of the mfhd:mfhdRecord node. Also instantiates Otem and Order classes for the mfhd:mfhdRecord node.
-
Args :
-
xml_node
-> mfhd:mfhdRecord node
-
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/holdings/record.rb', line 15 def initialize(xml_node,leader) @bibid = xml_node.attributes["bibId"].value @holding_id = xml_node.attributes["mfhdId"].value @location_name = xml_node.at_css("mfhd|mfhdData[@name='locationDisplayName']").content location_code = xml_node.at_css("mfhd|mfhdData[@name='locationCode']").content # marc record node marc = xml_node.at_css("mfhd|marcRecord") # 852 holdings tag node tag852 = marc.at_css("slim|datafield[@tag='852']") # 866 holdings tag node tag866 = marc.css("slim|datafield[@tag='866']") @call_number = parse_call_number(tag852) # string @summary_holdings = parse_summary_holdings(tag866) # array @notes_852 = parse_notes_852(tag852) # array @notes_866 = parse_notes_866(tag866) # array # combine notes into a single array @notes = @notes_852 + @notes_866 # array @shelving_title = parse_shelving_title(tag852) # string @supplements = parse_supplements(marc) # array @indexes = parse_indexes(marc) # array @reproduction_note = parse_reproduction_note(marc) #string @urls = parse_urls(marc) # array of hashes @donor_info = parse_donor_info(marc) # array of hashes # information from item level records item = Item.new(xml_node) @item_count = item.item_count @temp_locations = item.temp_locations @item_status = item.item_status # flag for services processing (doc_delivery assignment) temp_loc_flag = 'N' # special case for single temp location if @item_count == '1' && (not @temp_locations.empty?) # temp location begins 'Shelved in' if it is not for a part if @temp_locations.first.match(/^Shelved/) # remove 'Shelved in' and replace location_name @location_name = @temp_locations.first.gsub(/^Shelved in /, '') @temp_locations.clear temp_loc_flag = 'Y' end end # set item status for online items if @location_name.match(/^Online/) @item_status[:status] = 'online' @item_status[:messages].clear end # information from order/receipt records order = Order.new(xml_node) @current_issues = order.current_issues @orders = order.orders # get format codes from leader fmt = leader[6..7] # add available services @services = determine_services(@location_name,location_code,temp_loc_flag,@call_number,@item_status,@orders,@bibid,fmt) end |
Instance Attribute Details
#bibid ⇒ Object (readonly)
Returns the value of attribute bibid.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def bibid @bibid end |
#call_number ⇒ Object (readonly)
Returns the value of attribute call_number.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def call_number @call_number end |
#current_issues ⇒ Object (readonly)
Returns the value of attribute current_issues.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def current_issues @current_issues end |
#donor_info ⇒ Object (readonly)
Returns the value of attribute donor_info.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def donor_info @donor_info end |
#holding_id ⇒ Object (readonly)
Returns the value of attribute holding_id.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def holding_id @holding_id end |
#indexes ⇒ Object (readonly)
Returns the value of attribute indexes.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def indexes @indexes end |
#item_count ⇒ Object (readonly)
Returns the value of attribute item_count.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def item_count @item_count end |
#item_status ⇒ Object (readonly)
Returns the value of attribute item_status.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def item_status @item_status end |
#location_name ⇒ Object (readonly)
Returns the value of attribute location_name.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def location_name @location_name end |
#notes ⇒ Object (readonly)
Returns the value of attribute notes.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def notes @notes end |
#notes_852 ⇒ Object (readonly)
Returns the value of attribute notes_852.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def notes_852 @notes_852 end |
#notes_866 ⇒ Object (readonly)
Returns the value of attribute notes_866.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def notes_866 @notes_866 end |
#orders ⇒ Object (readonly)
Returns the value of attribute orders.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def orders @orders end |
#reproduction_note ⇒ Object (readonly)
Returns the value of attribute reproduction_note.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def reproduction_note @reproduction_note end |
#services ⇒ Object (readonly)
Returns the value of attribute services.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def services @services end |
#shelving_title ⇒ Object (readonly)
Returns the value of attribute shelving_title.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def shelving_title @shelving_title end |
#summary_holdings ⇒ Object (readonly)
Returns the value of attribute summary_holdings.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def summary_holdings @summary_holdings end |
#supplements ⇒ Object (readonly)
Returns the value of attribute supplements.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def supplements @supplements end |
#temp_locations ⇒ Object (readonly)
Returns the value of attribute temp_locations.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def temp_locations @temp_locations end |
#urls ⇒ Object (readonly)
Returns the value of attribute urls.
4 5 6 |
# File 'lib/holdings/record.rb', line 4 def urls @urls end |
Instance Method Details
#to_hash ⇒ Object
Collect data from all variables into a hash
-
Returns :
-
Hash
-
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/holdings/record.rb', line 85 def to_hash { :bibid => @bibid, :holding_id => @holding_id, :location_name => @location_name, :call_number => @call_number, :shelving_title => @shelving_title, :summary_holdings => @summary_holdings, :supplements => @supplements, :indexes => @indexes, :notes => @notes, :reproduction_note => @reproduction_note, :urls => @urls, :donor_info => @donor_info, :item_count => @item_count, :temp_locations => @temp_locations, :item_status => @item_status, :services => @services, :current_issues => @current_issues, :orders => @orders } end |