Sha256: 3e5bea421311dca7ebd2a5a34f489ce24c453ba9f5bebae01de36e8336f516d6

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

# frozen_string_literal: true
##
##
# = Introduction
# Blacklight::Solr::Document is the module with logic for a class representing
# an individual document returned from Solr results.  It can be added in to any
# local class you want, but in default Blacklight a SolrDocument class is
# provided for you which is pretty much a blank class "include"ing
# Blacklight::Solr::Document.
#
# Blacklight::Solr::Document provides some DefaultFinders.
#
# It also provides support for Document Extensions, which advertise supported
# transformation formats.
#

module Blacklight::Solr::Document
  extend ActiveSupport::Concern
  include Blacklight::Document
  include Blacklight::Document::ActiveModelShim

  def more_like_this
    response.more_like(self).map { |doc| self.class.new(doc, response) }
  end

  def has_highlight_field? k
    return false if response['highlighting'].blank? || response['highlighting'][id].blank?
    response['highlighting'][id].key? k.to_s
  end

  def highlight_field k
    response['highlighting'][id][k.to_s].map(&:html_safe) if has_highlight_field? k
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
blacklight-7.0.0.rc1 app/models/concerns/blacklight/solr/document.rb