class Exlibris::Primo::EShelf
Manipulate a user's Primo
eshelf using Exlibris::Primo::Eshelf
eshelf = Eshelf.new.base_url!("http://primo.library.edu").institution!("PRIMO").user_id!("USER_ID") eshelf.records #=> Array for Primo records
Attributes
user_id[R]
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
Exlibris::Primo::WriteAttributes::new
# File lib/exlibris/primo/eshelf.rb, line 18 def initialize *args super end
Public Instance Methods
add_folder(folder_name, parent_id)
click to toggle source
Call web service to add folder to eshelf
# File lib/exlibris/primo/eshelf.rb, line 108 def add_folder(folder_name, parent_id) Exlibris::Primo::WebService::Request::AddFolderToEshelf.new( user_request_attributes.merge :folder_name => folder_name, :parent_folder => parent_id).call reset_eshelf end
add_record(record_id, folder_id)
click to toggle source
Call web service to add record to eshelf
# File lib/exlibris/primo/eshelf.rb, line 80 def add_record(record_id, folder_id) Exlibris::Primo::WebService::Request::AddToEshelf.new( user_request_attributes.merge :folder_id => folder_id, :doc_id => record_id).call reset_eshelf end
add_records(record_ids, folder_id)
click to toggle source
Call web service to add records to eshelf
# File lib/exlibris/primo/eshelf.rb, line 70 def add_records(record_ids, folder_id) record_ids.each do |record_id| add_record record_id, folder_id end reset_eshelf end
basket_id()
click to toggle source
Get the default basket id from eshelf structure web service call
# File lib/exlibris/primo/eshelf.rb, line 55 def basket_id @basket_id ||= eshelf_structure.basket_id end
eshelf()
click to toggle source
Call web service to get Eshelf contents and return
# File lib/exlibris/primo/eshelf.rb, line 25 def eshelf @eshelf ||= Exlibris::Primo::WebService::Request::GetEshelf.new(user_request_attributes).call end
eshelf_structure()
click to toggle source
Call web service to get Eshelf structure and return
# File lib/exlibris/primo/eshelf.rb, line 33 def eshelf_structure @eshelf_structure ||= Exlibris::Primo::WebService::Request::GetEshelfStructure.new(user_request_attributes).call end
folder_id(folder_name)
click to toggle source
Get the folder id from eshelf structure web service call for the given folder name.
# File lib/exlibris/primo/eshelf.rb, line 63 def folder_id(folder_name) eshelf_structure.folder_id(folder_name) end
records()
click to toggle source
remove_folder(folder_id)
click to toggle source
Call web service to remove folder from eshelf
# File lib/exlibris/primo/eshelf.rb, line 117 def remove_folder(folder_id) Exlibris::Primo::WebService::Request::RemoveFolderFromEshelf.new( user_request_attributes.merge :folder_id => folder_id).call reset_eshelf end
remove_record(record_id, folder_id)
click to toggle source
Call web service to remove a record from eshelf
# File lib/exlibris/primo/eshelf.rb, line 99 def remove_record(record_id, folder_id) Exlibris::Primo::WebService::Request::RemoveFromEshelf.new( user_request_attributes.merge :folder_id => folder_id, :doc_id => record_id).call reset_eshelf end
remove_records(record_ids, folder_id)
click to toggle source
Call web service to remove records from the eshelf
# File lib/exlibris/primo/eshelf.rb, line 89 def remove_records(record_ids, folder_id) record_ids.each do |record_id| remove_record record_id, folder_id end reset_eshelf end
size()
click to toggle source
Get the number of records in user's eshelf
# File lib/exlibris/primo/eshelf.rb, line 41 def size @size ||= eshelf.size end
Private Instance Methods
reset_eshelf()
click to toggle source
Reset eshelf instance variables
# File lib/exlibris/primo/eshelf.rb, line 124 def reset_eshelf @eshelf = nil @eshelf_structure = nil @size = nil @records = nil @basket_id = nil end