Sha256: 5bc09db3ebb15dd7ed7bd23de4a590434b13c52835a5e149fd6b818a945df1f9
Contents?: true
Size: 1.14 KB
Versions: 7
Compression:
Stored size: 1.14 KB
Contents
module Ddr module Datastreams class MetadataDatastream < ActiveFedora::NtriplesRDFDatastream def self.term_names properties.keys.map(&:to_sym).sort end # Returns ActiveTriplesTerm now that this is an RDF datastream def values term term == :format ? self.format : self.send(term) end # Update term with values # Note that empty values (nil or "") are rejected from values array def set_values term, values if values.respond_to?(:reject!) values.reject! { |v| v.blank? } else values = nil if values.blank? end begin self.send("#{term}=", values) rescue NoMethodError raise ArgumentError, "No such term: #{term}" end end # Add value to term # Note that empty value (nil or "") is not added def add_value term, value begin unless value.blank? values = values(term).to_a << value set_values term, values end rescue NoMethodError raise ArgumentError, "No such term: #{term}" end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems