lib/ddr/index/fields.rb in ddr-models-2.4.0.rc3 vs lib/ddr/index/fields.rb in ddr-models-2.4.0.rc4

- old
+ new

@@ -1,19 +1,9 @@ module Ddr::Index module Fields extend Deprecation - def self.get(name) - const_get(name.to_s.upcase, false) - end - - def self.techmd - constants(false) - .select { |c| c =~ /\ATECHMD_/ } - .map { |c| const_get(c) } - end - ID = UniqueKeyField.instance ACCESS_ROLE = Field.new :access_role, :stored_sortable ACTIVE_FEDORA_MODEL = Field.new :active_fedora_model, :stored_sortable ADMIN_SET = Field.new :admin_set, :stored_sortable @@ -82,9 +72,23 @@ TECHMD_WELL_FORMED = Field.new :techmd_well_formed, :symbol TITLE = Field.new :title, :stored_sortable TYPE_FACET = Field.new :type_facet, :facetable WORKFLOW_STATE = Field.new :workflow_state, :stored_sortable YEAR_FACET = Field.new :year_facet, solr_name: "year_facet_iim" + + def self.get(name) + const_get(name.to_s.upcase, false) + end + + def self.techmd + @techmd ||= constants(false).select { |c| c =~ /\ATECHMD_/ }.map { |c| const_get(c) } + end + + def self.descmd + @descmd ||= Ddr::Datastreams::DescriptiveMetadataDatastream.properties.map do |base, config| + Field.new base, *(config.behaviors) + end + end def self.const_missing(name) if name == :PID Deprecation.warn(Ddr::Index::Fields, "`Ddr::Index::Fields::#{name}` is deprecated." \