lib/ddr/datastreams/descriptive_metadata_datastream.rb in ddr-models-2.6.2 vs lib/ddr/datastreams/descriptive_metadata_datastream.rb in ddr-models-2.7.0.rc1

- old
+ new

@@ -1,46 +1,46 @@ -module Ddr - module Datastreams - class DescriptiveMetadataDatastream < MetadataDatastream +require "rdf/vocab" - class_attribute :vocabularies - self.vocabularies = [RDF::DC, Ddr::Vocab::DukeTerms].freeze +module Ddr::Datastreams + class DescriptiveMetadataDatastream < MetadataDatastream - def self.default_attributes - super.merge(:mimeType => 'application/n-triples') - end + class_attribute :vocabularies + self.vocabularies = [RDF::Vocab::DC, Ddr::Vocab::DukeTerms].freeze - def self.indexers - # Add term_name => [indexers] mapping to customize indexing - {} - end + def self.default_attributes + super.merge(:mimeType => 'application/n-triples') + end - def self.default_indexers - [:stored_searchable] - end + def self.indexers + # Add term_name => [indexers] mapping to customize indexing + {} + end - def self.indexers_for(term_name) - indexers.fetch(term_name, default_indexers) - end + def self.default_indexers + [:stored_searchable] + end - # Add terms from the vocabularies as properties - vocabularies.each do |vocab| - Ddr::Vocab::Vocabulary.property_terms(vocab).each do |term| - term_name = Ddr::Vocab::Vocabulary.term_name(vocab, term) - # Do not include :license as a descriptive metadata property - unless term_name == :license - property term_name, predicate: term do |index| - index.as *indexers_for(term_name) - end + def self.indexers_for(term_name) + indexers.fetch(term_name, default_indexers) + end + + # Add terms from the vocabularies as properties + vocabularies.each do |vocab| + Ddr::Vocab::Vocabulary.property_terms(vocab).each do |term| + term_name = Ddr::Vocab::Vocabulary.term_name(vocab, term) + # Do not include :license as a descriptive metadata property + unless term_name == :license + property term_name, predicate: term do |index| + index.as *indexers_for(term_name) end end end + end - # Override ActiveFedora::Rdf::Indexing#apply_prefix(name) to not - # prepend the index field name with a string based on the datastream id. - def apply_prefix(name) - name - end - + # Override ActiveFedora::Rdf::Indexing#apply_prefix(name) to not + # prepend the index field name with a string based on the datastream id. + def apply_prefix(name) + name end + end end