class Exlibris::Primo::Reviews

Manipulate a Primo reviews using Exlibris::Primo::Reviews

reviews = Reviews.new.base_url!("http://primo.library.edu").institution!("PRIMO").
  user_id!("USER_ID").record_id!("aleph0123456789")
reviews.reviews #=> Array of Primo reviews

Attributes

record_id[R]
user_id[R]

Public Class Methods

new(*args) click to toggle source
Calls superclass method Exlibris::Primo::WriteAttributes::new
# File lib/exlibris/primo/reviews.rb, line 20
def initialize *args
  super
end

Public Instance Methods

add_review(value, rating, user_display_name, status=2, allow_user_name = true) click to toggle source

Call web service to add a review to Primo for the specified record

# File lib/exlibris/primo/reviews.rb, line 59
def add_review(value, rating, user_display_name, status=2, allow_user_name = true)
  Exlibris::Primo::WebService::Request::AddReview.new(user_record_request_attributes.merge :value => value, 
    :rating => rating, :user_display_name => user_display_name, :status =>status, :allow_user_name => allow_user_name).call
  reset_reviews
end
rating_reviews(rating) click to toggle source

Get the reviews of a certain rating for the specified user

# File lib/exlibris/primo/reviews.rb, line 51
def rating_reviews(rating)
  Exlibris::Primo::WebService::Request::GetReviewsByRating.new(
    user_request_attributes.merge :rating => rating).call.reviews
end
record_reviews() click to toggle source

Call web service to get all reviews for the specified record

# File lib/exlibris/primo/reviews.rb, line 43
def record_reviews
  @record_reviews ||= Exlibris::Primo::WebService::Request::GetReviewsForRecord.new(
    record_request_attributes).call.reviews
end
remove_review() click to toggle source

Call web service to remove review from Primo for the specified record

# File lib/exlibris/primo/reviews.rb, line 68
def remove_review
  Exlibris::Primo::WebService::Request::RemoveReview.new(user_record_request_attributes).call
  reset_reviews
end
reviews() click to toggle source

Call web service to get reviews for the specified user and record

# File lib/exlibris/primo/reviews.rb, line 27
def reviews
  @reviews ||= Exlibris::Primo::WebService::Request::GetReviews.new(
    user_record_request_attributes).call.reviews
end
user_reviews() click to toggle source

Call web service to get all reviews for the specified user

# File lib/exlibris/primo/reviews.rb, line 35
def user_reviews
  @user_reviews ||= Exlibris::Primo::WebService::Request::GetAllMyReviews.new(
    user_request_attributes).call.reviews
end

Private Instance Methods

reset_reviews() click to toggle source
# File lib/exlibris/primo/reviews.rb, line 73
def reset_reviews
  @reviews = nil
  @record_reviews = nil
  @user_reviews = nil
end