Sha256: ec3de43ca044bc42b7d679ef1a2b2d157cb9f74ee0a870ef7dd1179115faf04b

Contents?: true

Size: 1.41 KB

Versions: 1

Compression:

Stored size: 1.41 KB

Contents

module Exlibris
  module Primo
    module WebService
      module Request
        # 
        # Search Primo
        # 
        class Search < Exlibris::Primo::WebService::Request::Base
          self.has_client
          self.soap_action = :search_brief
          include DisplayFields
          include Languages
          include Locations
          include QueryTerms
          include SearchElements
          include SortBys

          add_default_search_elements :start_index => "1", 
            :bulk_size => "5", :did_u_mean_enabled => "false"

          add_search_elements :start_index, :bulk_size, :did_u_mean_enabled,
              :highlighting_enabled, :get_more, :inst_boost

          def to_xml
            super { |xml|
              xml.PrimoSearchRequest("xmlns" => "http://www.exlibris.com/primo/xsd/search/request") {
                query_terms_xml.call xml
                search_elements_xml.call xml
                languages_xml.call xml
                sort_bys_xml.call xml
                display_fields_xml.call xml
                locations_xml.call xml
              }
            }
          end
        end

        # 
        # Get a specific record from Primo.
        # 
        class FullView < Exlibris::Primo::WebService::Request::Search
          # Add doc_id to the base elements
          self.add_base_elements :doc_id
          self.soap_action = :get_record
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
exlibris-primo-1.0.2 lib/exlibris/primo/web_service/request/search.rb