lib/exlibris/primo/web_service/request/eshelf.rb
module Exlibris
module Primo
module WebService
module Request
#
# Abstract class for eshelf interaction
#
class Eshelf < UserBase
self.add_base_elements :folder_id
self.abstract = true
self.has_client
end
#
# Abstract class for eshelf record interaction
#
class EshelfRecord < Eshelf
self.add_base_elements :doc_id
self.abstract = true
end
#
# Abstract class for eshelf structure interaction
#
class EshelfStructure < Eshelf
self.add_base_elements :include_basket_items
self.has_client
self.abstract = true
end
#
# Get eshelf structure from Primo for a specified user
#
class GetEshelfStructure < EshelfStructure; end
#
# Get eshelf from Primo for a specified user
#
class GetEshelf < Eshelf
self.add_base_elements :get_delivery
end
#
# Add given record to Primo for a specified user
#
class AddToEshelf < EshelfRecord
self.add_base_elements :searchkey
self.remove_base_elements :folder_id
end
#
# Remove given record from Primo for a specified user
#
class RemoveFromEshelf < EshelfRecord; end
#
# Add given folder name to Primo for a specified user
#
class AddFolderToEshelf < Eshelf
self.add_base_elements :folder_name, :parent_folder
self.remove_base_elements :folder_id
end
#
# Remove given folder from Primo for a specified user
#
class RemoveFolderFromEshelf < Eshelf; end
end
end
end
end