Class: LD4L::WorksRDF::GetMetadataFromSolrQuery
- Inherits:
-
Object
- Object
- LD4L::WorksRDF::GetMetadataFromSolrQuery
- Defined in:
- lib/ld4l/works_rdf/services/get_metadata_from_solr_query.rb
Class Method Summary collapse
-
.call(solr_query_url, solr_field_translations, localname_prefix = "") ⇒ Object
Get display metadata via content negotiation from an Cornell Solr.
Class Method Details
.call(solr_query_url, solr_field_translations, localname_prefix = "") ⇒ Object
Get display metadata via content negotiation from an Cornell Solr
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/ld4l/works_rdf/services/get_metadata_from_solr_query.rb', line 11 def self.call( solr_query_url, solr_field_translations, localname_prefix="" ) raise ArgumentError, 'solr_query_url argument must be a uri string' unless solr_query_url.kind_of?(String) results = LD4L::WorksRDF::GetSolrResultsFromSolrQuery.call(solr_query_url) return LD4L::WorksRDF::SetErrorInMetadata.call(solr_query_url,'ERROR: Unable to retrieve SOLR documents from URI') unless results && results.size > 0 results_hash = Hash.from_xml(results) solr_docs = results_hash["response"]["result"]["doc"] solr_docs = [ solr_docs ] unless solr_docs.is_a? Array = [] solr_docs.each do |solr_doc| << LD4L::WorksRDF::GetMetadataFromSolrDoc.call(solr_doc, solr_field_translations) end end |