class EBSCO::EDS::RetrievalCriteria

Attributes

Highlight[RW]
IncludeImageQuickView[RW]
PageNumber[RW]
ResultsPerPage[RW]
View[RW]

Public Class Methods

new(options = {}, info) click to toggle source
# File lib/ebsco/eds/options.rb, line 538
def initialize(options = {}, info)

  # defaults
  @View = info.default_result_list_view
  @IncludeImageQuickView = info.default_include_image_quick_view
  @ResultsPerPage = info.default_results_per_page
  @PageNumber = 1

  options.each do |key, value|

    case key

      # ====================================================================================
      # view
      # ====================================================================================
      when :view, 'view'
        if info.available_result_list_views.include? value.downcase
          @View = value.downcase
        else
          @View = info.default_result_list_view
        end

      # ====================================================================================
      # results per page
      # ====================================================================================
      when :results_per_page, 'results_per_page', 'rows', 'per_page'
        if value.to_i > info.max_results_per_page
          @ResultsPerPage = info.max_results_per_page
        else
          @ResultsPerPage = value.to_i
        end

      # ====================================================================================
      # page number
      # ====================================================================================
      when :page_number, 'page_number', 'page'
        @PageNumber = value.to_i
      # solr starts at page 0
      # when 'start'
      #  @PageNumber = value.to_i + 1

      # ====================================================================================
      # highlight
      # ====================================================================================
      when :highlight, 'highlight'
        @Highlight = value
      # solr/blacklight version
      when 'hl'
        if value == 'on'
          @Highlight = 'y'
        else
          @Highlight = 'y' # API bug: if set to 'n' you won't get research starter abstracts!
        end

      # ====================================================================================
      # image quick view
      # ====================================================================================
      when :include_image_quick_view, 'include_image_quick_view'
        @IncludeImageQuickView = value ? 'y' : 'n'

      else

    end

  end

end