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." \