class Libis::Services::CollectiveAccess::Service
Attributes
cata[R]
info[R]
search[R]
Public Class Methods
new(host = nil)
click to toggle source
# File lib/libis/services/collective_access/service.rb, line 15 def initialize(host = nil) @search = ::Libis::Services::CollectiveAccess::Search.new host @info = ::Libis::Services::CollectiveAccess::ItemInfo.new host @cata = ::Libis::Services::CollectiveAccess::Cataloguing.new host end
Public Instance Methods
add_attribute(object, attribute, value)
click to toggle source
# File lib/libis/services/collective_access/service.rb, line 58 def add_attribute(object, attribute, value) @cata.add_attribute object, attribute.to_s, {attribute.to_sym => value} end
add_object(label)
click to toggle source
# File lib/libis/services/collective_access/service.rb, line 33 def add_object(label) @cata.add_item idno: label, type_id: 21 end
authenticate(name = nil, password = nil)
click to toggle source
# File lib/libis/services/collective_access/service.rb, line 21 def authenticate(name = nil, password = nil) result = @search.authenticate name, password result &&= @info.authenticate name, password result && @cata.authenticate(name, password) end
deauthenticate()
click to toggle source
# File lib/libis/services/collective_access/service.rb, line 27 def deauthenticate @search.deauthenticate @info.deauthenticate @cata.deauthenticate end
delete_attribute(_, _)
click to toggle source
# File lib/libis/services/collective_access/service.rb, line 68 def delete_attribute(_, _) #object, attribute) end
delete_attributes(object)
click to toggle source
# File lib/libis/services/collective_access/service.rb, line 72 def delete_attributes(object) @cata.remove_attributes object end
delete_object(object)
click to toggle source
# File lib/libis/services/collective_access/service.rb, line 54 def delete_object(object) @cata.remove object end
get_attribute(object, attribute)
click to toggle source
# File lib/libis/services/collective_access/service.rb, line 62 def get_attribute(object, attribute) result = @info.get_attribute object, attribute result = [result] unless result.is_a? Array result end
get_object(label)
click to toggle source
# File lib/libis/services/collective_access/service.rb, line 50 def get_object(label) search_object query: "\"#{label}\"" end
search_object(attributes = {})
click to toggle source
# File lib/libis/services/collective_access/service.rb, line 37 def search_object(attributes = {}) query = attributes.delete :query || '' query = attributes.inject(query) { |q, (k, v)| q << ' AND ' unless q.empty? q << k << ':' if k v = "\"#{v}\"" if v.is_a?(String) and !v.include? '"' q << v } result = @search.query query return nil unless result && result.is_a?(Hash) && !result.empty? result.first[0] end