Module: PrependedLinkedData::FindTerm

Defined in:
app/prepends/prepended_linked_data/find_term.rb

Instance Method Summary collapse

Instance Method Details

#find(id, request_header: {}, language: nil, replacements: {}, subauth: nil, format: nil, performance_data: false) ⇒ Hash

Override Qa::Authorities::LinkedData::FindTerm#find method

Returns:

  • (Hash)

    single term results in requested format



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/prepends/prepended_linked_data/find_term.rb', line 5

def find(id, request_header: {}, language: nil, replacements: {}, subauth: nil, format: nil, performance_data: false) # rubocop:disable Metrics/ParameterLists, Metrics/CyclomaticComplexity
  return super if QaServer.config.suppress_performance_gathering

  start_time_s = QaServer.current_time_s
  request_header = build_request_header(language: language, replacements: replacements, subauth: subauth, format: format, performance_data: performance_data) if request_header.empty?
  saved_performance_data = performance_data || request_header[:performance_data]
  request_header[:performance_data] = true

  @phid = QaServer.config.performance_cache.new_entry(authority: authority_name, action: 'fetch')
  begin
    full_results = super
    update_performance_history_record(full_results, start_time_s)
  rescue Exception => e # rubocop:disable Lint/RescueException
    QaServer.config.performance_cache.destroy(@phid)
    raise e
  end
  saved_performance_data || !full_results.is_a?(Hash) ? full_results : full_results[:results]
end