Class: Workarea::Navigation::SearchResults

Inherits:
Object
  • Object
show all
Includes:
GlobalID::Identification
Defined in:
app/models/workarea/navigation/search_results.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ SearchResults

Returns a new instance of SearchResults.



12
13
14
15
16
17
18
19
# File 'app/models/workarea/navigation/search_results.rb', line 12

def initialize(params = {})
  @params = params
    .to_h
    .with_indifferent_access
    .except(*Workarea.config.exclude_from_search_results_breadcrumbs)

  stub_navigable_since_this_isnt_mongoid!
end

Instance Attribute Details

#paramsObject (readonly)

Returns the value of attribute params.



6
7
8
# File 'app/models/workarea/navigation/search_results.rb', line 6

def params
  @params
end

Class Method Details

.find(id) ⇒ Object



8
9
10
# File 'app/models/workarea/navigation/search_results.rb', line 8

def self.find(id)
  new(JSON.parse(id))
end

Instance Method Details

#==(o) ⇒ Object



37
38
39
# File 'app/models/workarea/navigation/search_results.rb', line 37

def ==(o)
  o.class == self.class && o.id == id
end

#idObject



21
22
23
# File 'app/models/workarea/navigation/search_results.rb', line 21

def id
  params.sort_by { |key, _| key }.to_h.to_json
end

#query_stringObject



25
26
27
# File 'app/models/workarea/navigation/search_results.rb', line 25

def query_string
  @query_string ||= QueryString.new(params[:q])
end

#taxonObject



29
30
31
32
33
34
35
# File 'app/models/workarea/navigation/search_results.rb', line 29

def taxon
  @taxon ||= Taxon.new(
    parent_id: Taxon.root.id,
    parent_ids: [Taxon.root.id],
    name: I18n.t('workarea.breadcrumbs.search_results', query: params[:q])
  )
end