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
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
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_sha1 ⇒ Object
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_ids ⇒ Object
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
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_document ⇒ Object
34
35
36
|
# File 'app/models/concerns/iiif_print/solr_document_decorator.rb', line 34
def solr_document
self
end
|