class ActiveFedora::SolrInstanceLoader
Responsible for loading an ActiveFedora::Base proxy from a Solr document.
def initialize(context, id, solr_doc = nil)
def initialize(context, id, solr_doc = nil) @context = context @id = id self.solr_doc = solr_doc end
def object
def object return @object if @object @object = solr_doc.instantiate_with_json @object.readonly! @object.freeze @object end
def solr_doc
def solr_doc @solr_doc ||= begin self.solr_doc = context.search_by_id(id) end end
def solr_doc=(solr_doc)
def solr_doc=(solr_doc) unless solr_doc.nil? solr_doc = ActiveFedora::SolrHit.for(solr_doc) validate_solr_doc_and_id!(solr_doc) @solr_doc = solr_doc end end
def validate_solr_doc_and_id!(document)
def validate_solr_doc_and_id!(document) return if id == document.id raise ActiveFedora::FedoraSolrMismatchError, id, document.id end