Module: Cul::Hydra::ApplicationIdBehavior
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/controllers/concerns/cul/hydra/application_id_behavior.rb
Instance Method Summary collapse
- #find_for_params(path, solr_params) ⇒ Object
- #get_solr_response_for_app_id(id = nil, extra_controller_params = {}) ⇒ Object
- #get_solr_response_for_dc_id(id = nil, extra_controller_params = {}) ⇒ Object
Instance Method Details
#find_for_params(path, solr_params) ⇒ Object
7 8 9 10 |
# File 'app/controllers/concerns/cul/hydra/application_id_behavior.rb', line 7 def find_for_params(path,solr_params) res = blacklight_solr.send_and_receive(path, {key=>solr_params.to_hash, method:blacklight_config.http_method}) Blacklight::SolrResponse.new(res, solr_params, solr_document_model: blacklight_config.solr_document_model) end |
#get_solr_response_for_app_id(id = nil, extra_controller_params = {}) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'app/controllers/concerns/cul/hydra/application_id_behavior.rb', line 12 def get_solr_response_for_app_id(id=nil, extra_controller_params={}) id ||= params[:id] id = id.clone id.sub!(/apt\:\/columbia/,'apt://columbia') # TOTAL HACK id.gsub!(':','\:') id.gsub!('/','\/') p = blacklight_config.default_document_solr_params.merge(extra_controller_params) p[:fq] = "identifier_ssim:#{(id)}" p[:fl] ||= '*' #p[:qt] ||= blacklight_config.document_solr_request_handler solr_response = find(blacklight_config.document_solr_path, p) raise Blacklight::Exceptions::InvalidSolrID.new(id) if solr_response.docs.empty? document = SolrDocument.new(solr_response.docs.first, solr_response) @response, @document = [solr_response, document] end |
#get_solr_response_for_dc_id(id = nil, extra_controller_params = {}) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'app/controllers/concerns/cul/hydra/application_id_behavior.rb', line 28 def get_solr_response_for_dc_id(id=nil, extra_controller_params={}) id ||= params[:id] id = id.clone p = blacklight_config.default_document_solr_params.merge(extra_controller_params) id.sub!(/apt\:\/columbia/,'apt://columbia') # TOTAL HACK id.gsub!(':','\:') id.gsub!('/','\/') p[:fq] = "dc_identifier_ssim:#{(id)}" p[:fl] ||= '*' #p[:qt] ||= blacklight_config.document_solr_request_handler solr_response = find(blacklight_config.document_solr_path, p) raise Blacklight::Exceptions::InvalidSolrID.new(id) if solr_response.docs.empty? document = SolrDocument.new(solr_response.docs.first, solr_response) @response, @document = [solr_response, document] end |