Module: IiifPrint::SolrDocumentDecorator

Defined in:
app/models/concerns/iiif_print/solr_document_decorator.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_name, *args, &block) ⇒ Object



9
10
11
12
# File 'app/models/concerns/iiif_print/solr_document_decorator.rb', line 9

def method_missing(method_name, *args, &block)
  super unless iiif_print_solr_field_names.include? method_name.to_s
  self[IiifPrint.solr_name(method_name.to_s)]
end

Instance Method Details

#any_highlighting?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'app/models/concerns/iiif_print/solr_document_decorator.rb', line 23

def any_highlighting?
  response&.[]('highlighting')&.[](id)&.present?
end

#any_highlighting_in_all_text_fields?Boolean

Returns:

  • (Boolean)


27
28
29
30
31
32
# File 'app/models/concerns/iiif_print/solr_document_decorator.rb', line 27

def any_highlighting_in_all_text_fields?
  [CatalogController.blacklight_config.iiif_search[:full_text_field]].any? do |field|
    highlights = response&.dig('highlighting', id, field)
    highlights&.any? { |text| text.include?("<span class='highlight'>") }
  end
end

#digest_sha1Object



5
6
7
# File 'app/models/concerns/iiif_print/solr_document_decorator.rb', line 5

def digest_sha1
  digest[/urn:sha1:([\w]+)/, 1]
end

#file_set_idsObject

consists of member_ids_ssim + its descendents’ member_ids (recursively)



19
20
21
# File 'app/models/concerns/iiif_print/solr_document_decorator.rb', line 19

def file_set_ids
  self['descendent_member_ids_ssim'] || self['member_ids_ssim']
end

#respond_to_missing?(method_name, include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
# File 'app/models/concerns/iiif_print/solr_document_decorator.rb', line 14

def respond_to_missing?(method_name, include_private = false)
  iiif_print_solr_field_names.include?(method_name.to_s) || super
end

#solr_documentObject



34
35
36
# File 'app/models/concerns/iiif_print/solr_document_decorator.rb', line 34

def solr_document
  self
end