class EBSCO::EDS::Info

Attributes

api_settings[RW]
application_settings[RW]
available_search_criteria[RW]
citation_style_settings[RW]
export_format_settings[RW]
view_result_settings[RW]

Public Class Methods

new(info, config = {}) click to toggle source
# File lib/ebsco/eds/info.rb, line 10
def initialize(info, config = {})
  @results_per_page = config[:max_results_per_page] ? config[:max_results_per_page] : 100
  @available_search_criteria = info['AvailableSearchCriteria']
  @view_result_settings = info['ViewResultSettings']
  @application_settings = info['ApplicationSettings']
  @api_settings = info['ApiSettings']
  @citation_style_settings = info['CitationStyleSettings']
  @export_format_settings = info['ExportFormatSettings']
end

Public Instance Methods

available_actions() click to toggle source

AVAILABLE ACTIONS

# File lib/ebsco/eds/info.rb, line 208
def available_actions
  @available_search_criteria.deep_find_results('AddAction')
end
available_citation_exports(id = 'all') click to toggle source
# File lib/ebsco/eds/info.rb, line 156
def available_citation_exports (id = 'all')
  @export_format_settings.fetch('AvailableFormats',{}).select{|item| item['Id'] == id || id == 'all'}
end
available_citation_styles(id = 'all') click to toggle source

CITATION STYLES AND EXPORT FORMATS

# File lib/ebsco/eds/info.rb, line 152
def available_citation_styles (id = 'all')
  @citation_style_settings.fetch('AvailableStyles',{}).select{|item| item['Id'] == id || id == 'all'}
end
available_expander_ids() click to toggle source

EXPANDERS

# File lib/ebsco/eds/info.rb, line 56
def available_expander_ids
  @available_search_criteria.fetch('AvailableExpanders',{}).map{|hash| hash['Id']}
end
available_expanders(id = 'all') click to toggle source
# File lib/ebsco/eds/info.rb, line 64
def available_expanders (id = 'all')
  if id == 'all'
    @available_search_criteria.fetch('AvailableExpanders',{})
  else
    @available_search_criteria.fetch('AvailableExpanders',{}).find{|item| item['Id'] == id}
  end
end
available_limiter_ids() click to toggle source

LIMITERS

# File lib/ebsco/eds/info.rb, line 76
def available_limiter_ids
  @available_search_criteria.fetch('AvailableLimiters',{}).map{|hash| hash['Id']}
end
available_limiter_labels() click to toggle source
# File lib/ebsco/eds/info.rb, line 96
def available_limiter_labels
  @available_search_criteria.fetch('AvailableLimiters',{}).map{|hash| hash['Label']}
end
available_limiter_values(id) click to toggle source

get an array of limiter values for a Type=multiselectvalue limiter

# File lib/ebsco/eds/info.rb, line 101
def available_limiter_values (id)
  _limiter = @available_search_criteria.fetch('AvailableLimiters',{}).find{|item| item['Id'] == id}
  if _limiter['Type'] == 'multiselectvalue'
    _limiter['LimiterValues'].map{|hash| hash['Value']}
  end
end
available_limiters(id = 'all') click to toggle source
# File lib/ebsco/eds/info.rb, line 88
def available_limiters (id = 'all')
  if id == 'all'
    @available_search_criteria.fetch('AvailableLimiters',{})
  else
    @available_search_criteria.fetch('AvailableLimiters',{}).find{|item| item['Id'] == id}
  end
end
available_result_list_views() click to toggle source
# File lib/ebsco/eds/info.rb, line 172
def available_result_list_views
  %w{brief title detailed}
end
available_search_mode_types() click to toggle source
# File lib/ebsco/eds/info.rb, line 44
def available_search_mode_types
  available_search_modes.map{|hash| hash['Mode']}
end
available_search_modes(mode = 'all_available') click to toggle source

SEARCH MODES

# File lib/ebsco/eds/info.rb, line 40
def available_search_modes (mode = 'all_available')
  @available_search_criteria.fetch('AvailableSearchModes',{}).select{|item| item['Mode'] == mode || mode == 'all_available'}
end
available_sorts(id = 'all') click to toggle source

SORTS

# File lib/ebsco/eds/info.rb, line 24
def available_sorts (id = 'all')
  @available_search_criteria.fetch('AvailableSorts',{}).select{|item| item['Id'] == id || id == 'all'}
end
default_auto_correct() click to toggle source
# File lib/ebsco/eds/info.rb, line 144
def default_auto_correct
  @available_search_criteria.fetch('AvailableDidYouMeanOptions',{}).find{|item| item['Id'] == 'AutoCorrect'}['DefaultOn']
end
default_auto_suggest() click to toggle source
# File lib/ebsco/eds/info.rb, line 140
def default_auto_suggest
  @available_search_criteria.fetch('AvailableDidYouMeanOptions',{}).find{|item| item['Id'] == 'AutoSuggest'}['DefaultOn']
end
default_expander_ids() click to toggle source
# File lib/ebsco/eds/info.rb, line 60
def default_expander_ids
  @available_search_criteria.fetch('AvailableExpanders',{}).select{|item| item['DefaultOn'] == 'y'}.map{|hash| hash['Id']}
end
default_highlight() click to toggle source
# File lib/ebsco/eds/info.rb, line 180
def default_highlight
  true
end
default_include_image_quick_view() click to toggle source
# File lib/ebsco/eds/info.rb, line 184
def default_include_image_quick_view
  false
end
default_limiter_ids() click to toggle source
# File lib/ebsco/eds/info.rb, line 80
def default_limiter_ids
  @available_search_criteria.fetch('AvailableLimiters',{}).select{|item| item['DefaultOn'] == 'y'}.map{|hash| hash['Id']}
end
default_limiter_labels() click to toggle source
# File lib/ebsco/eds/info.rb, line 84
def default_limiter_labels
  @available_search_criteria.fetch('AvailableLimiters',{}).select{|item| item['DefaultOn'] == 'y'}.map{|hash| hash['Label']}
end
default_result_list_view() click to toggle source
# File lib/ebsco/eds/info.rb, line 176
def default_result_list_view
  @view_result_settings['ResultListView']
end
default_results_per_page() click to toggle source

RESULTS VIEW SETTINGS

# File lib/ebsco/eds/info.rb, line 164
def default_results_per_page
  @view_result_settings['ResultsPerPage'].to_i
end
default_search_mode() click to toggle source
# File lib/ebsco/eds/info.rb, line 48
def default_search_mode
  @available_search_criteria.fetch('AvailableSearchModes',{}).find{|item| item['DefaultOn'] == 'y'}['Mode']
end
did_you_mean(id = 'all') click to toggle source

AUTO SUGGEST

# File lib/ebsco/eds/info.rb, line 136
def did_you_mean (id = 'all')
  @available_search_criteria.fetch('AvailableDidYouMeanOptions',{}).select{|item| item['Id'] == id || id == 'all'}
end
get_limiter_by_label(label) click to toggle source
# File lib/ebsco/eds/info.rb, line 108
def get_limiter_by_label (label)
  @available_search_criteria.fetch('AvailableLimiters',{}).find{|item| item['Label'] == label}
end
max_record_jump() click to toggle source

API SETTINGS

# File lib/ebsco/eds/info.rb, line 192
def max_record_jump
  @api_settings['MaxRecordJumpAhead']
end
max_results_per_page() click to toggle source
# File lib/ebsco/eds/info.rb, line 168
def max_results_per_page
  @results_per_page
end
search_fields(code = 'all') click to toggle source

SEARCH FIELDS

# File lib/ebsco/eds/info.rb, line 32
def search_fields (code = 'all')
  @available_search_criteria.fetch('AvailableSearchFields',{}).select{|item| item['FieldCode'] == code || code == 'all'}
end
session_timeout() click to toggle source

APPLICATION SETTINGS

# File lib/ebsco/eds/info.rb, line 200
def session_timeout
  @application_settings['SessionTimeout']
end