Module: Spotlight::SolrDocument::ClassMethods

Defined in:
app/models/concerns/spotlight/solr_document.rb

Overview

Class-level methods

Instance Method Summary collapse

Instance Method Details

#build_for_exhibit(id, exhibit, attributes = {}) ⇒ Object



27
28
29
30
31
# File 'app/models/concerns/spotlight/solr_document.rb', line 27

def build_for_exhibit(id, exhibit, attributes = {})
  new(unique_key => id) do |doc|
    doc.sidecar(exhibit).tap { |x| x.assign_attributes(attributes) }.save! # save is a nop if the sidecar isn't modified.
  end
end

#reindex(id) ⇒ Object



33
34
35
36
37
# File 'app/models/concerns/spotlight/solr_document.rb', line 33

def reindex(id)
  find(id).reindex
rescue Blacklight::Exceptions::InvalidSolrID => e
  Rails.logger.debug "Unable to find document #{id}: #{e}"
end

#reindex_allObject



39
40
41
# File 'app/models/concerns/spotlight/solr_document.rb', line 39

def reindex_all
  find_each(&:reindex)
end

#resource_type_fieldObject



51
52
53
# File 'app/models/concerns/spotlight/solr_document.rb', line 51

def resource_type_field
  :"#{Spotlight::Engine.config.solr_fields.prefix}spotlight_resource_type#{Spotlight::Engine.config.solr_fields.string_suffix}"
end

#solr_field_for_tagger(tagger) ⇒ Object



43
44
45
# File 'app/models/concerns/spotlight/solr_document.rb', line 43

def solr_field_for_tagger(tagger)
  :"#{solr_field_prefix(tagger)}tags#{Spotlight::Engine.config.solr_fields.string_suffix}"
end

#solr_field_prefix(exhibit) ⇒ Object



55
56
57
# File 'app/models/concerns/spotlight/solr_document.rb', line 55

def solr_field_prefix(exhibit)
  "#{Spotlight::Engine.config.solr_fields.prefix}#{exhibit.class.model_name.param_key}_#{exhibit.to_param}_"
end

#visibility_field(exhibit) ⇒ Object



47
48
49
# File 'app/models/concerns/spotlight/solr_document.rb', line 47

def visibility_field(exhibit)
  :"#{solr_field_prefix(exhibit)}public#{Spotlight::Engine.config.solr_fields.boolean_suffix}"
end