class Exlibris::Aleph::API::Reader::Patron::Record::Item
Attributes
booking_request[R]
hold_request[R]
photocopy_request[R]
short_loan[R]
Public Class Methods
new(root)
click to toggle source
Calls superclass method
Exlibris::Aleph::API::Reader::Base::new
# File lib/exlibris/aleph/api/reader/patron/record/item.rb, line 12 def initialize(root) super(root) @hold_request = privilege_for_type('HoldRequest') @short_loan = privilege_for_type('ShortLoan') @photocopy_request = privilege_for_type('PhotocopyRequest') @booking_request = privilege_for_type('BookingRequest') end
Public Instance Methods
pickup_locations()
click to toggle source
# File lib/exlibris/aleph/api/reader/patron/record/item.rb, line 20 def pickup_locations @pickup_locations ||= pickup_location.map do |location| code = location['code'] display = location['__content__'] PickupLocation.new(code, display) end end
Private Instance Methods
hold()
click to toggle source
# File lib/exlibris/aleph/api/reader/patron/record/item.rb, line 43 def hold @hold ||= hold_request_root['hold'] end
hold_request_root()
click to toggle source
# File lib/exlibris/aleph/api/reader/patron/record/item.rb, line 37 def hold_request_root @hold_request_root ||= info.find do |element| element['type'] == 'HoldRequest' end end
info()
click to toggle source
# File lib/exlibris/aleph/api/reader/patron/record/item.rb, line 33 def info @info ||= item['info'] end
item()
click to toggle source
# File lib/exlibris/aleph/api/reader/patron/record/item.rb, line 29 def item @item ||= root['item'] end
pickup_location()
click to toggle source
# File lib/exlibris/aleph/api/reader/patron/record/item.rb, line 53 def pickup_location @pickup_location ||= begin if pickup_locations_root.nil? [] elsif pickup_locations_root['pickup_location'].nil? [] elsif pickup_locations_root['pickup_location'].is_a?(Hash) [pickup_locations_root['pickup_location']] else pickup_locations_root['pickup_location'] end end end
pickup_locations_root()
click to toggle source
# File lib/exlibris/aleph/api/reader/patron/record/item.rb, line 47 def pickup_locations_root unless hold.nil? @pickup_locations_root ||= hold['pickup_locations'] end end
privilege_for_type(type)
click to toggle source
# File lib/exlibris/aleph/api/reader/patron/record/item.rb, line 67 def privilege_for_type(type) privilege = info.find { |element| element['type'] == type } privilege['allowed'] if privilege end