Module: Arclight::SolrDocument
- Extended by:
- Blacklight::Solr::Document
- Defined in:
- app/models/concerns/arclight/solr_document.rb
Overview
Extends Blacklight::Solr::Document to provide Arclight specific behavior
Instance Method Summary collapse
- #abstract_or_scope ⇒ Object
- #children? ⇒ Boolean
- #collection_creator ⇒ Object
- #collection_name ⇒ Object
- #component_level ⇒ Object
- #containers ⇒ Object
- #creator ⇒ Object
- #digital_object_viewer ⇒ Object
- #digital_objects ⇒ Object
- #eadid ⇒ Object
- #extent ⇒ Object
-
#highlights ⇒ Array<String>
With embedded highlights using ….
- #level ⇒ Object
- #normalized_date ⇒ Object
- #normalized_title ⇒ Object
- #number_of_children ⇒ Object
- #online_content? ⇒ Boolean
- #parent_ids ⇒ Object
- #parent_labels ⇒ Object
-
#parent_restrictions ⇒ Object
Restrictions for component sidebar.
-
#parent_terms ⇒ Object
Terms for component sidebar.
- #reference ⇒ Object
- #repository ⇒ Object
- #repository_and_unitid ⇒ Object
- #repository_config ⇒ Object
- #terms ⇒ Object
- #unitid ⇒ Object
Instance Method Details
#abstract_or_scope ⇒ Object
46 47 48 |
# File 'app/models/concerns/arclight/solr_document.rb', line 46 def abstract_or_scope first('abstract_ssm') || first('scopecontent_ssm') end |
#children? ⇒ Boolean
66 67 68 |
# File 'app/models/concerns/arclight/solr_document.rb', line 66 def children? number_of_children.positive? end |
#collection_creator ⇒ Object
54 55 56 |
# File 'app/models/concerns/arclight/solr_document.rb', line 54 def collection_creator first('collection_creator_ssm') end |
#collection_name ⇒ Object
38 39 40 |
# File 'app/models/concerns/arclight/solr_document.rb', line 38 def collection_name first('collection_ssm') end |
#component_level ⇒ Object
74 75 76 |
# File 'app/models/concerns/arclight/solr_document.rb', line 74 def component_level first('component_level_isim') end |
#containers ⇒ Object
109 110 111 112 |
# File 'app/models/concerns/arclight/solr_document.rb', line 109 def containers # note that .titlecase strips punctuation, like hyphens, we want to keep fetch('containers_ssim', []).map(&:capitalize) end |
#creator ⇒ Object
50 51 52 |
# File 'app/models/concerns/arclight/solr_document.rb', line 50 def creator first('creator_ssm') end |
#digital_object_viewer ⇒ Object
82 83 84 |
# File 'app/models/concerns/arclight/solr_document.rb', line 82 def digital_object_viewer @digital_object_viewer ||= Arclight::Viewer.render(self) end |
#digital_objects ⇒ Object
100 101 102 103 104 105 106 107 |
# File 'app/models/concerns/arclight/solr_document.rb', line 100 def digital_objects digital_objects_field = fetch('digital_objects_ssm', []) return [] if digital_objects_field.blank? digital_objects_field.map do |object| Arclight::DigitalObject.from_json(object) end end |
#eadid ⇒ Object
22 23 24 |
# File 'app/models/concerns/arclight/solr_document.rb', line 22 def eadid fetch('ead_ssi', nil) end |
#extent ⇒ Object
42 43 44 |
# File 'app/models/concerns/arclight/solr_document.rb', line 42 def extent first('extent_ssm') end |
#highlights ⇒ Array<String>
Returns with embedded highlights using ….
123 124 125 126 127 128 129 |
# File 'app/models/concerns/arclight/solr_document.rb', line 123 def highlights highlight_response = response[:highlighting] return if highlight_response.blank? || highlight_response[id].blank? || highlight_response[id][:text].blank? highlight_response[id][:text] end |
#level ⇒ Object
78 79 80 |
# File 'app/models/concerns/arclight/solr_document.rb', line 78 def level first('level_ssm') end |
#normalized_date ⇒ Object
118 119 120 |
# File 'app/models/concerns/arclight/solr_document.rb', line 118 def normalized_date first('normalized_date_ssm') end |
#normalized_title ⇒ Object
114 115 116 |
# File 'app/models/concerns/arclight/solr_document.rb', line 114 def normalized_title first('normalized_title_ssm') end |
#number_of_children ⇒ Object
62 63 64 |
# File 'app/models/concerns/arclight/solr_document.rb', line 62 def number_of_children first('child_component_count_isim') || 0 end |
#online_content? ⇒ Boolean
58 59 60 |
# File 'app/models/concerns/arclight/solr_document.rb', line 58 def online_content? first('has_online_content_ssim') == 'true' end |
#parent_ids ⇒ Object
14 15 16 |
# File 'app/models/concerns/arclight/solr_document.rb', line 14 def parent_ids fetch('parent_ssm', []) end |
#parent_labels ⇒ Object
18 19 20 |
# File 'app/models/concerns/arclight/solr_document.rb', line 18 def parent_labels fetch('parent_unittitles_ssm', []) end |
#parent_restrictions ⇒ Object
Restrictions for component sidebar
91 92 93 |
# File 'app/models/concerns/arclight/solr_document.rb', line 91 def parent_restrictions first('parent_access_restrict_ssm') end |
#parent_terms ⇒ Object
Terms for component sidebar
96 97 98 |
# File 'app/models/concerns/arclight/solr_document.rb', line 96 def parent_terms first('parent_access_terms_ssm') end |
#reference ⇒ Object
70 71 72 |
# File 'app/models/concerns/arclight/solr_document.rb', line 70 def reference first('ref_ssm') end |
#repository ⇒ Object
30 31 32 |
# File 'app/models/concerns/arclight/solr_document.rb', line 30 def repository first('repository_ssm') end |
#repository_and_unitid ⇒ Object
34 35 36 |
# File 'app/models/concerns/arclight/solr_document.rb', line 34 def repository_and_unitid [repository, unitid].compact.join(': ') end |
#repository_config ⇒ Object
9 10 11 12 |
# File 'app/models/concerns/arclight/solr_document.rb', line 9 def repository_config return unless repository @repository_config ||= Arclight::Repository.find_by(name: repository) end |
#terms ⇒ Object
86 87 88 |
# File 'app/models/concerns/arclight/solr_document.rb', line 86 def terms first('userestrict_ssm') end |
#unitid ⇒ Object
26 27 28 |
# File 'app/models/concerns/arclight/solr_document.rb', line 26 def unitid first('unitid_ssm') end |