Class: QaServer::SearchScenario

Inherits:
AuthorityScenario show all
Defined in:
app/models/qa_server/search_scenario.rb

Constant Summary collapse

MAX_RECORDS =
'4'
DEFAULT_REPLACEMENTS =
{ maxRecords: MAX_RECORDS }.freeze
DEFAULT_POSITION =
nil
DEFAULT_SUBJECT_URI =
nil

Constants inherited from AuthorityScenario

AuthorityScenario::DEFAULT_SUBAUTH, AuthorityScenario::MIN_EXPECTED_SIZE

Instance Attribute Summary collapse

Attributes inherited from AuthorityScenario

#authority, #authority_name, #min_result_size, #service, #subauthority_name

Instance Method Summary collapse

Constructor Details

#initialize(authority:, authority_name:, authority_scenario_config:, scenario_config:) ⇒ SearchScenario



26
27
28
29
30
31
32
33
34
# File 'app/models/qa_server/search_scenario.rb', line 26

def initialize(authority:, authority_name:, authority_scenario_config:, scenario_config:)
  super
  @query = scenario_config['query']
  @subauthority_name = scenario_config['subauth'] || DEFAULT_SUBAUTH
  @min_result_size = scenario_config['result_size'] || MIN_EXPECTED_SIZE
  @replacements = scenario_config['replacements'] || DEFAULT_REPLACEMENTS
  @expected_by_position = scenario_config['position'] || DEFAULT_POSITION
  @subject_uri = scenario_config['subject_uri'] || DEFAULT_SUBJECT_URI
end

Instance Attribute Details

#expected_by_positionInteger (readonly)



12
13
14
# File 'app/models/qa_server/search_scenario.rb', line 12

def expected_by_position
  @expected_by_position
end

#queryString (readonly)



6
7
8
# File 'app/models/qa_server/search_scenario.rb', line 6

def query
  @query
end

#replacementsHash (readonly)



9
10
11
# File 'app/models/qa_server/search_scenario.rb', line 9

def replacements
  @replacements
end

#subject_uriString (readonly)



15
16
17
# File 'app/models/qa_server/search_scenario.rb', line 15

def subject_uri
  @subject_uri
end

Instance Method Details

#urlString

Generate an example URL that can be called in a browser or through curl



38
39
40
41
42
# File 'app/models/qa_server/search_scenario.rb', line 38

def url
  subauth = "/#{subauthority_name}" if subauthority?
  prefix = "#{QaServer::Engine.qa_engine_mount}/search/linked_data/#{authority_name.downcase}#{subauth}"
  "#{prefix}?q=#{query}#{url_replacements}"
end