class ActiveFedora::RelsExtDatastream
Public Class Methods
short_predicate(predicate)
click to toggle source
# File lib/dor/utils/predicate_patch.rb, line 8 def self.short_predicate(predicate) # for this regex to short-circuit correctly, namespaces must be sorted into descending order by length if match = /^(#{Predicates.predicate_mappings.keys.sort.reverse.join('|')})(.+)$/.match(predicate.to_str) namespace = match[1] predicate = match[2] ns_mapping = Predicates.predicate_mappings[namespace] ||= {} pred = ns_mapping.invert[predicate] if pred.nil? pred = predicate.underscore.to_sym ns_mapping[pred] = predicate end pred else raise "Unable to parse predicate: #{predicate}" end end