class ActiveTriples::Solrizer::IndexingService

Attributes

object[R]

include ::Solrizer::Common

Public Class Methods

new(obj) click to toggle source
# File lib/active_triples/solrizer/indexing_service.rb, line 6
def initialize(obj)
  @object = obj
end
profile_solr_name() click to toggle source
# File lib/active_triples/solrizer/indexing_service.rb, line 10
def self.profile_solr_name
  # @profile_solr_name ||= ActiveFedora::SolrQueryBuilder.solr_name("object_profile", :displayable)
  @profile_solr_name ||= :object_profile_ss
end

Public Instance Methods

generate_solr_document() { |solr_doc| ... } click to toggle source

Creates a solr document hash for the {#object} @yield [Hash] yields the solr document @return [Hash] the solr document

# File lib/active_triples/solrizer/indexing_service.rb, line 26
def generate_solr_document
  solr_doc = {}
  # Solrizer.set_field(solr_doc, 'system_create', c_time, :stored_sortable)
  # Solrizer.set_field(solr_doc, 'system_modified', m_time, :stored_sortable)
  solr_doc.merge!(SOLR_DOCUMENT_ID.to_sym => object.id)
  solr_doc.merge!(:at_model_ssi => object.class.to_s)   # TODO dynamic for now, but probably should be static solr field
  solr_doc.merge!(self.class.profile_solr_name => profile_service.new(object).export)
  solr_doc.merge!(properties_service.new(object).export)
  yield(solr_doc) if block_given?
  solr_doc
end
profile_service() click to toggle source
# File lib/active_triples/solrizer/indexing_service.rb, line 15
def profile_service
  ProfileIndexingService
end
properties_service() click to toggle source
# File lib/active_triples/solrizer/indexing_service.rb, line 19
def properties_service
  PropertiesIndexingService
end