app/models/concerns/blacklight/document/semantic_fields.rb in blacklight-6.11.0 vs app/models/concerns/blacklight/document/semantic_fields.rb in blacklight-6.11.1

- old
+ new

@@ -32,15 +32,17 @@ # to just take values from Solr stored fields. # Extensions can over-ride this method to provide better/different lookup, # but extensions should call super and modify hash returned, to avoid # unintentionally erasing values provided by other extensions. def to_semantic_values - @semantic_value_hash ||= self.class.field_semantics.each_with_object(Hash.new([])) do |(key, field_name), hash| - value = self[field_name] + @semantic_value_hash ||= self.class.field_semantics.each_with_object(Hash.new([])) do |(key, field_names), hash| + ## + # Handles single string field_name or an array of field_names + value = Array.wrap(field_names).map { |field_name| self[field_name] }.flatten.compact # Make single and multi-values all arrays, so clients # don't have to know. - hash[key] = Array.wrap(value) unless value.nil? + hash[key] = value unless value.empty? end @semantic_value_hash ||= {} end end