lib/ddr/index/fields.rb in ddr-models-3.0.0.beta.3 vs lib/ddr/index/fields.rb in ddr-models-3.0.0.beta.4
- old
+ new
@@ -1,39 +1,23 @@
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
-
- def self.const_missing(name)
- if name == :PID
- Deprecation.warn(Fields, "The constant `:PID` is deprecated; use `:ID` instead.")
- return ID
- end
- super
- 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
ADMIN_SET_FACET = Field.new :admin_set_facet, :facetable
+ ASPACE_ID = Field.new :aspace_id, :stored_sortable
ATTACHED_FILES = Field.new :attached_files, solr_name: "attached_files_ss"
BOX_NUMBER_FACET = Field.new :box_number_facet, :facetable
COLLECTION_FACET = Field.new :collection_facet, :facetable
COLLECTION_URI = Field.new :collection_uri, :symbol
- CONTENT_SIZE = Field.new :content_size, :stored_sortable, type: :integer
+ CONTENT_SIZE = Field.new :content_size, solr_name: "content_size_lsi"
CONTENT_SIZE_HUMAN = Field.new :content_size_human, :symbol
+ CONTRIBUTOR_FACET = Field.new :contributor_facet, :facetable
CREATOR_FACET = Field.new :creator_facet, :facetable
DATE_FACET = Field.new :date_facet, :facetable
DATE_SORT = Field.new :date_sort, :sortable
DEPOSITOR = Field.new :depositor, :stored_sortable
DISPLAY_FORMAT = Field.new :display_format, :stored_sortable
@@ -71,14 +55,15 @@
RESEARCH_HELP_CONTACT = Field.new :research_help_contact, :stored_sortable
RESOURCE_ROLE = Field.new :resource_role, :symbol
SERIES_FACET = Field.new :series_facet, :facetable
SPATIAL_FACET = Field.new :spatial_facet, :facetable
STRUCT_MAPS = Field.new :struct_maps, :stored_sortable
+ SUBJECT_FACET = Field.new :subject_facet, :facetable
TECHMD_COLOR_SPACE = Field.new :techmd_color_space, :symbol
TECHMD_CREATING_APPLICATION = Field.new :techmd_creating_application, :symbol
TECHMD_CREATION_TIME = Field.new :techmd_creation_time, :stored_searchable, type: :date
- TECHMD_FILE_SIZE = Field.new :techmd_file_size, :stored_searchable, type: :integer
+ TECHMD_FILE_SIZE = Field.new :techmd_file_size, solr_name: "techmd_file_size_lsi"
TECHMD_FITS_VERSION = Field.new :techmd_fits_version, :stored_sortable
TECHMD_FITS_DATETIME = Field.new :techmd_fits_datetime, :stored_sortable, type: :date
TECHMD_FORMAT_LABEL = Field.new :techmd_format_label, :symbol
TECHMD_FORMAT_VERSION = Field.new :techmd_format_version, :symbol
TECHMD_IMAGE_HEIGHT = Field.new :techmd_image_height, :stored_searchable, type: :integer
@@ -90,8 +75,32 @@
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." \
+ " Use `Ddr::Index::Fields::ID` instead.")
+ return ID
+ end
+ super
+ end
end
end