class Skala::AlephAdapter::GetRecordHoldableItems
Public Instance Methods
call(document_number, username, options = {})
click to toggle source
# File lib/skala/aleph_adapter/get_record_holdable_items.rb, line 7 def call(document_number, username, options = {}) get_record_items_result = get_record_items(document_number, options.merge(username: username)) self.class::Result.new( holdable_items: holdable_items(get_record_items_result), source: get_record_items_result.source ) end
Private Instance Methods
get_record_items(*args)
click to toggle source
# File lib/skala/aleph_adapter/get_record_holdable_items.rb, line 18 def get_record_items(*args) adapter.class::GetRecordItems.new(adapter).call(*args) # adapter.class is important to get inherited op end
holdable_items(get_record_items_result)
click to toggle source
# File lib/skala/aleph_adapter/get_record_holdable_items.rb, line 22 def holdable_items(get_record_items_result) source_doc = Nokogiri::XML(get_record_items_result.source) get_record_items_result.items.select do |_item| !!source_doc.at_xpath("//item/info[@type='HoldRequest' and contains(@href, _item.id) and @allowed='Y']") end end