Class: Hyrax::Configuration
- Inherits:
-
Object
- Object
- Hyrax::Configuration
- Includes:
- Callbacks
- Defined in:
- lib/hyrax/configuration.rb
Overview
Handles configuration for the Hyrax engine.
This class provides a series of accessors for setting and retrieving global engine options. For convenient reference, options are grouped into the following functional areas:
-
Analytics
-
Files
-
Groups
-
Identifiers
-
IIIF
-
Local Storage
-
System Dependencies
-
Theme
-
Valkyrie
Groups
Hyrax has special handling for three groups: “admin”, “registered”, and “public”.
These settings support using custom names for these functional groups in object ACLs.
Identifiers
IIIF
Objects in Hyrax serve out IIIF manifests. These configuration options toggle server availability, allow customization of image and info URL generation, and provide other hooks for custom IIIF behavior.
Local Storage
Hyrax applications need local disk access to store working copies of files for a variety of purposes. Some of these storage paths need to be available all application processes. These options control the paths to use for each type of file.
System Dependiencies
Theme
Options related to the overall appearance of Hyrax.
Valkyrie
Options for toggling Hyrax’s “Wings” valkyrie adapter and configuring valkyrie.
Analytics collapse
-
#analytic_start_date ⇒ Object
Returns the value of attribute analytic_start_date.
-
#analytics ⇒ Object
Returns the value of attribute analytics.
- #analytics_provider ⇒ Object
-
#analytics_reporting ⇒ Object
Returns the value of attribute analytics_reporting.
- #analytics_start_date ⇒ Object
Files collapse
-
#characterization_options ⇒ Hash
Of options like :fits_servlet.
- #characterization_proxy ⇒ Object
-
#characterization_runner ⇒ Object
Override characterization runner.
-
#characterization_service ⇒ #run
@ see Hyrax::Characterization::ValkyrieCharacterizationService.
-
#derivative_mime_type_mappings ⇒ Object
Maps mimetypes to create_*_derivatives methods.
-
#derivative_services ⇒ Array
The registered candidate derivative services.
-
#file_set_file_service ⇒ Class
Implementer of FileSetFileService.
-
#file_set_model ⇒ #constantize
A string representation of the admin set model.
- #fixity_service ⇒ Object
- #max_days_between_fixity_checks ⇒ Object
-
#valkyrie_transition ⇒ Object
Returns the value of attribute valkyrie_transition.
Groups collapse
- #admin_user_group_name ⇒ String
- #public_user_group_name ⇒ String
- #registered_user_group_name ⇒ String
Identifier Minting collapse
-
#enable_noids ⇒ Object
writeonly
Sets the attribute enable_noids.
- #minter_statefile ⇒ Object
- #noid_minter_class ⇒ Object
- #noid_template ⇒ Object
IIIF collapse
-
#iiif_image_compliance_level_uri ⇒ String
URL that indicates your IIIF image server compliance level.
-
#iiif_image_server ⇒ Object
writeonly
Sets the attribute iiif_image_server.
-
#iiif_image_size_default ⇒ #String
IIIF image size default.
-
#iiif_image_url_builder ⇒ #call
URL that resolves to an image provided by a IIIF image server.
-
#iiif_info_url_builder ⇒ #call
URL that resolves to an info.json file provided by a IIIF image server.
-
#iiif_manifest_cache_duration ⇒ Integer
Duration in which we should cache the generated IIIF manifest.
-
#iiif_metadata_fields ⇒ #Array
IIIF metadata - fields to display in the metadata section.
-
#rendering_predicate ⇒ RDF::URI
Set predicate for rendering to dc:hasFormat as defined in IIIF Presentation API context: iiif.io/api/presentation/2/context.json.
Local Storage collapse
- #bagit_dir ⇒ Object
- #branding_path ⇒ Object
- #cache_path ⇒ Object
- #derivatives_path ⇒ Object
- #upload_path ⇒ Object
- #working_path ⇒ Object
System Dependencies collapse
- #enable_ffmpeg ⇒ Object
- #ffmpeg_path ⇒ Object
- #fits_message_length ⇒ Object
- #fits_path ⇒ Object
- #import_export_jar_file_path ⇒ Object
- #virus_scanner ⇒ Object
Theme collapse
- #banner_image ⇒ Object
- #breadcrumb_builder ⇒ Object
- #disable_freyja ⇒ Boolean
- #disable_frigg ⇒ Boolean
- #disable_wings ⇒ Boolean
-
#display_media_download_link ⇒ Object
writeonly
Sets the attribute display_media_download_link.
Valkyrie collapse
-
#fedora_connection_builder ⇒ #call
A HTTP connection to use for Valkyrie Fedora requests.
-
#query_index_from_valkyrie ⇒ Boolean
Whether to use the valkyrie index.
-
#use_valkyrie ⇒ Object
writeonly
Sets the attribute use_valkyrie.
Instance Attribute Summary collapse
-
#active_deposit_agreement_acceptance ⇒ Object
writeonly
Sets the attribute active_deposit_agreement_acceptance.
- #activity_to_show_default_seconds_since_now ⇒ Object
-
#admin_set_model ⇒ #constantize
A string representation of the admin set model.
- #admin_set_predicate ⇒ Object
- #administrative_set_form ⇒ Class
- #administrative_set_indexer ⇒ Class
-
#arkivo_api ⇒ Object
writeonly
Sets the attribute arkivo_api.
- #audit_user_key ⇒ Object
- #batch_user_key ⇒ Object
-
#browse_everything ⇒ Object
writeonly
Sets the attribute browse_everything.
-
#citations ⇒ Object
writeonly
Sets the attribute citations.
-
#collection_model ⇒ #constantize
A string representation of the collection model.
- #collection_type_index_field ⇒ Object
- #contact_email ⇒ Object
-
#default_active_workflow_name ⇒ String
When an admin set is created, we need to activate a workflow.
-
#display_microdata ⇒ Object
writeonly
Sets the attribute display_microdata.
-
#display_share_button_when_not_logged_in ⇒ Object
writeonly
Should a button with “Share my work” show on the front page to users who are not logged in?.
-
#enable_local_ingest ⇒ Object
Returns the value of attribute enable_local_ingest.
-
#extract_full_text ⇒ Object
writeonly
Sets the attribute extract_full_text.
- #feature_config_path ⇒ Object
- #file_set_form ⇒ Class
- #file_set_indexer ⇒ Class
- #id_field ⇒ Object
- #identifier_registrars ⇒ Object
- #index_field_mapper ⇒ Object
- #ingest_queue_name ⇒ Object
- #libreoffice_path ⇒ Object
- #license_service_class ⇒ Object
- #location_service ⇒ Object
- #lock_retry_count ⇒ Object
- #lock_retry_delay ⇒ Object
- #lock_time_to_live ⇒ Object
- #logger ⇒ Logger
- #max_notifications_for_dashboard ⇒ Object
- #microdata_default_type ⇒ Object
- #owner_permission_levels ⇒ Object
- #pcdm_collection_form ⇒ Class
- #pcdm_collection_indexer ⇒ Class
- #pcdm_object_form_builder ⇒ Proc
- #pcdm_object_indexer_builder ⇒ Proc
- #permission_levels ⇒ Object
- #permission_options ⇒ Object
- #persistent_hostpath ⇒ Object
- #publisher ⇒ Object
- #range_for_number_of_results_to_display_per_page ⇒ Array<Integer>
-
#realtime_notifications ⇒ Object
writeonly
rubocop:disable Layout/LineLength.
-
#redis_connection ⇒ Object
Returns the value of attribute redis_connection.
- #redis_namespace ⇒ Object
- #registered_ingest_dirs ⇒ Object
- #rights_statement_service_class ⇒ Object
- #show_work_item_rows ⇒ Object
-
#simple_schema_loader_config_search_paths ⇒ Array<Pathname>
A configuration for modifying the SimpleSchemaLoader#config_search_paths which will allow gems to add their own metadata yaml files and easily keep them within the gem.
- #solr_default_method ⇒ Object
- #solr_select_path ⇒ Object
- #subject_prefix ⇒ Object
- #system_user_key ⇒ Object
-
#temp_file_base ⇒ Object
Returns the value of attribute temp_file_base.
- #translate_id_to_uri ⇒ Object
- #translate_uri_to_id ⇒ Object
- #uploader ⇒ Object
-
#visibility_map ⇒ Hyrax::VisibilityMap
A mapping from visibility string values to permissions; the default and reference implementation is provided by VisibilityMap.
-
#work_requires_files ⇒ Object
writeonly
Sets the attribute work_requires_files.
Analytics collapse
Files collapse
-
#file_set_class ⇒ Class
The configured admin set model class.
-
#lookup_mimes(type) ⇒ Object
First see if we can get them from the FileSet model.
-
#mime_types_map ⇒ Object
rubocop:disable Metrics/MethodLength.
- #valkyrie_transition? ⇒ Boolean
Identifier Minting collapse
IIIF collapse
-
#iiif_image_server? ⇒ Boolean
Enable IIIF image service.
Theme collapse
Valkyrie collapse
- #branding_storage_adapter ⇒ Valkyrie::StorageAdapter
- #branding_storage_adapter=(adapter) ⇒ Object
- #derivatives_storage_adapter ⇒ Valkyrie::StorageAdapter
- #derivatives_storage_adapter=(adapter) ⇒ Object
-
#index_adapter ⇒ #save, ...
An indexing adapter.
- #index_adapter=(adapter) ⇒ Object
-
#use_valkyrie? ⇒ Boolean
Whether to use valkyrie storage features.
Instance Method Summary collapse
- #active_deposit_agreement_acceptance? ⇒ Boolean
-
#admin_set_class ⇒ Class
The configured admin set model class.
-
#admin_set_class_for_wings ⇒ Object
private
There are assumptions baked into Wings and tests regarding what the correct conceptual admin set will be.
- #arkivo_api? ⇒ Boolean
- #browse_everything? ⇒ Boolean
- #citations? ⇒ Boolean
-
#collection_class ⇒ Class
The configured collection model class.
-
#collection_class_for_wings ⇒ Object
private
There are assumptions baked into Wings and tests regarding what the correct conceptual collection will be.
-
#curation_concerns ⇒ Array<Class>
The registered curation concerns.
-
#default_admin_set ⇒ Hyrax::AdministrativeSet
The default admin set.
-
#default_admin_set_id ⇒ String
The default admin set id.
- #display_microdata? ⇒ Boolean
- #display_share_button_when_not_logged_in? ⇒ Boolean
- #extract_full_text? ⇒ Boolean
-
#geonames_username=(username) ⇒ Object
rubocop:enable Layout/LineLength.
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
- #realtime_notifications? ⇒ Boolean
-
#register_curation_concern(*curation_concern_types) ⇒ Object
Registers the given curation concern model in the configuration.
-
#register_roles {|Hyrax::RoleRegistry| ... } ⇒ TrueClass
Exposes a means to register application critical roles.
-
#registered_curation_concern_types ⇒ Array<String>
The normalization done by this method must occur after the initialization process so it can take advantage of irregular inflections from config/initializers/inflections.rb.
-
#reset_default_admin_set ⇒ Object
If the default admin set is changed, call reset.
- #work_requires_files? ⇒ Boolean
Methods included from Callbacks
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
66 67 68 69 70 |
# File 'lib/hyrax/configuration.rb', line 66 def initialize @registered_concerns = [] @role_registry = Hyrax::RoleRegistry.new @default_active_workflow_name = DEFAULT_ACTIVE_WORKFLOW_NAME end |
Instance Attribute Details
#active_deposit_agreement_acceptance=(value) ⇒ Object (writeonly)
Sets the attribute active_deposit_agreement_acceptance
864 865 866 |
# File 'lib/hyrax/configuration.rb', line 864 def active_deposit_agreement_acceptance=(value) @active_deposit_agreement_acceptance = value end |
#activity_to_show_default_seconds_since_now ⇒ Object
830 831 832 |
# File 'lib/hyrax/configuration.rb', line 830 def activity_to_show_default_seconds_since_now @activity_to_show_default_seconds_since_now ||= 24 * 60 * 60 end |
#admin_set_model ⇒ #constantize
Returns a string representation of the admin set model.
942 943 944 |
# File 'lib/hyrax/configuration.rb', line 942 def admin_set_model @admin_set_model ||= 'Hyrax::AdministrativeSet' end |
#admin_set_predicate ⇒ Object
871 872 873 |
# File 'lib/hyrax/configuration.rb', line 871 def admin_set_predicate @admin_set_predicate ||= ::RDF::Vocab::DC.isPartOf end |
#admin_user_group_name ⇒ String
353 354 355 |
# File 'lib/hyrax/configuration.rb', line 353 def admin_user_group_name @admin_user_group_name ||= 'admin' end |
#administrative_set_form ⇒ Class
1001 1002 1003 |
# File 'lib/hyrax/configuration.rb', line 1001 def administrative_set_form @administrative_set_form ||= Hyrax::Forms::AdministrativeSetForm end |
#administrative_set_indexer ⇒ Class
1033 1034 1035 |
# File 'lib/hyrax/configuration.rb', line 1033 def administrative_set_indexer @administrative_set_indexer ||= Hyrax::Indexers::AdministrativeSetIndexer end |
#analytic_start_date ⇒ Object
Returns the value of attribute analytic_start_date.
178 179 180 |
# File 'lib/hyrax/configuration.rb', line 178 def analytic_start_date @analytic_start_date end |
#analytics ⇒ Object
Returns the value of attribute analytics.
124 125 126 |
# File 'lib/hyrax/configuration.rb', line 124 def analytics @analytics end |
#analytics_provider ⇒ Object
158 159 160 161 |
# File 'lib/hyrax/configuration.rb', line 158 def analytics_provider @analytics_provider ||= ENV.fetch('HYRAX_ANALYTICS_PROVIDER', 'ga4') end |
#analytics_reporting ⇒ Object
Returns the value of attribute analytics_reporting.
134 135 136 |
# File 'lib/hyrax/configuration.rb', line 134 def analytics_reporting @analytics_reporting end |
#analytics_start_date ⇒ Object
171 172 173 174 |
# File 'lib/hyrax/configuration.rb', line 171 def analytics_start_date @analytics_start_date ||= ENV.fetch('ANALYTICS_START_DATE', Time.zone.today - 1.year) end |
#arkivo_api=(value) ⇒ Object (writeonly)
Sets the attribute arkivo_api
834 835 836 |
# File 'lib/hyrax/configuration.rb', line 834 def arkivo_api=(value) @arkivo_api = value end |
#audit_user_key ⇒ Object
900 901 902 |
# File 'lib/hyrax/configuration.rb', line 900 def audit_user_key @audit_user_key ||= '[email protected]' end |
#bagit_dir ⇒ Object
489 490 491 |
# File 'lib/hyrax/configuration.rb', line 489 def bagit_dir @bagit_dir ||= "tmp/descriptions" end |
#banner_image ⇒ Object
576 577 578 579 |
# File 'lib/hyrax/configuration.rb', line 576 def # This image can be used for free and without attribution. See here for source and license: https://github.com/samvera/hyrax/issues/1551#issuecomment-326624909 @banner_image ||= 'https://user-images.githubusercontent.com/101482/29949206-ffa60d2c-8e67-11e7-988d-4910b8787d56.jpg' end |
#batch_user_key ⇒ Object
895 896 897 |
# File 'lib/hyrax/configuration.rb', line 895 def batch_user_key @batch_user_key ||= '[email protected]' end |
#branding_path ⇒ Object
519 520 521 |
# File 'lib/hyrax/configuration.rb', line 519 def branding_path @branding_path ||= Pathname.new(ENV.fetch('HYRAX_BRANDING_PATH', Rails.root.join('public', 'branding'))) end |
#breadcrumb_builder ⇒ Object
582 583 584 |
# File 'lib/hyrax/configuration.rb', line 582 def @breadcrumb_builder ||= Hyrax::BootstrapBreadcrumbsBuilder end |
#browse_everything=(value) ⇒ Object (writeonly)
Sets the attribute browse_everything
814 815 816 |
# File 'lib/hyrax/configuration.rb', line 814 def browse_everything=(value) @browse_everything = value end |
#cache_path ⇒ Object
513 514 515 |
# File 'lib/hyrax/configuration.rb', line 513 def cache_path @cache_path ||= ->() { Pathname.new(ENV.fetch('HYRAX_CACHE_PATH') { Rails.root.join('tmp', 'cache') }) } end |
#characterization_options ⇒ Hash
Returns of options like :fits_servlet.
198 |
# File 'lib/hyrax/configuration.rb', line 198 attr_writer :characterization_options |
#characterization_proxy ⇒ Object
208 209 210 |
# File 'lib/hyrax/configuration.rb', line 208 def characterization_proxy @characterization_proxy ||= :original_file end |
#characterization_runner ⇒ Object
Override characterization runner
213 214 215 |
# File 'lib/hyrax/configuration.rb', line 213 def characterization_runner @characterization_runner end |
#characterization_service ⇒ #run
@ see Hyrax::Characterization::ValkyrieCharacterizationService
188 |
# File 'lib/hyrax/configuration.rb', line 188 attr_writer :characterization_service |
#citations=(value) ⇒ Object (writeonly)
Sets the attribute citations
819 820 821 |
# File 'lib/hyrax/configuration.rb', line 819 def citations=(value) @citations = value end |
#collection_model ⇒ #constantize
Returns a string representation of the collection model.
913 914 915 |
# File 'lib/hyrax/configuration.rb', line 913 def collection_model @collection_model ||= 'Hyrax::PcdmCollection' end |
#collection_type_index_field ⇒ Object
905 906 907 |
# File 'lib/hyrax/configuration.rb', line 905 def collection_type_index_field @collection_type_index_field ||= 'collection_type_gid_ssim' end |
#contact_email ⇒ Object
1113 1114 1115 |
# File 'lib/hyrax/configuration.rb', line 1113 def contact_email @contact_email ||= "[email protected]" end |
#default_active_workflow_name ⇒ String
The active workflow for an admin set can be changed at a later point.
Changing this value after other AdminSet(s) are created does not alter the already created AdminSet(s)
When an admin set is created, we need to activate a workflow. The :default_active_workflow_name is the name of the workflow we will activate.
97 98 99 |
# File 'lib/hyrax/configuration.rb', line 97 def default_active_workflow_name @default_active_workflow_name end |
#derivative_mime_type_mappings ⇒ Object
these used to be set by Hydra::Works::MimeTypes
methods injected into ‘FileSet`. for backwards compatibility, those are used as defaults if present, but since `FileSet` is an application side model (and slated to be removed) we shouldn’t count on it providing these methods.
Maps mimetypes to create_*_derivatives methods
278 279 280 281 282 283 284 285 |
# File 'lib/hyrax/configuration.rb', line 278 def derivative_mime_type_mappings @derivative_mime_type_mappings ||= { audio: lookup_mimes(:audio_mime_types), image: lookup_mimes(:image_mime_types), office: lookup_mimes(:office_mime_types), pdf: lookup_mimes(:pdf_mime_types), video: lookup_mimes(:video_mime_types) } end |
#derivative_services ⇒ Array
The registered candidate derivative services. In the array, the first ‘valid?` candidate will handle the derivative generation.
293 294 295 |
# File 'lib/hyrax/configuration.rb', line 293 def derivative_services @derivative_services ||= [Hyrax::FileSetDerivativesService] end |
#derivatives_path ⇒ Object
495 496 497 |
# File 'lib/hyrax/configuration.rb', line 495 def derivatives_path @derivatives_path ||= Pathname.new(ENV.fetch('HYRAX_DERIVATIVES_PATH', Rails.root.join('tmp', 'derivatives'))) end |
#disable_freyja ⇒ Boolean
596 597 598 599 |
# File 'lib/hyrax/configuration.rb', line 596 def disable_freyja return @disable_freyja unless @disable_freyja.nil? ActiveModel::Type::Boolean.new.cast(ENV.fetch('HYRAX_SKIP_FREYJA', false)) end |
#disable_frigg ⇒ Boolean
604 605 606 607 |
# File 'lib/hyrax/configuration.rb', line 604 def disable_frigg return @disable_frigg unless @disable_frigg.nil? ActiveModel::Type::Boolean.new.cast(ENV.fetch('HYRAX_SKIP_FRIGG', false)) end |
#disable_wings ⇒ Boolean
588 589 590 591 |
# File 'lib/hyrax/configuration.rb', line 588 def disable_wings return @disable_wings unless @disable_wings.nil? ActiveModel::Type::Boolean.new.cast(ENV.fetch('HYRAX_SKIP_WINGS', false)) end |
#display_media_download_link=(value) ⇒ Object (writeonly)
Sets the attribute display_media_download_link
610 611 612 |
# File 'lib/hyrax/configuration.rb', line 610 def display_media_download_link=(value) @display_media_download_link = value end |
#display_microdata=(value) ⇒ Object (writeonly)
Sets the attribute display_microdata
694 695 696 |
# File 'lib/hyrax/configuration.rb', line 694 def display_microdata=(value) @display_microdata = value end |
#display_share_button_when_not_logged_in=(value) ⇒ Object (writeonly)
Should a button with “Share my work” show on the front page to users who are not logged in?
1063 1064 1065 |
# File 'lib/hyrax/configuration.rb', line 1063 def (value) @display_share_button_when_not_logged_in = value end |
#enable_ffmpeg ⇒ Object
527 528 529 530 |
# File 'lib/hyrax/configuration.rb', line 527 def enable_ffmpeg return @enable_ffmpeg unless @enable_ffmpeg.nil? @enable_ffmpeg = false end |
#enable_local_ingest ⇒ Object
Returns the value of attribute enable_local_ingest.
692 693 694 |
# File 'lib/hyrax/configuration.rb', line 692 def enable_local_ingest @enable_local_ingest end |
#enable_noids=(value) ⇒ Object (writeonly)
Sets the attribute enable_noids
374 375 376 |
# File 'lib/hyrax/configuration.rb', line 374 def enable_noids=(value) @enable_noids = value end |
#extract_full_text=(value) ⇒ Object (writeonly)
Sets the attribute extract_full_text
1122 1123 1124 |
# File 'lib/hyrax/configuration.rb', line 1122 def extract_full_text=(value) @extract_full_text = value end |
#feature_config_path ⇒ Object
688 689 690 |
# File 'lib/hyrax/configuration.rb', line 688 def feature_config_path @feature_config_path ||= Rails.root.join('config', 'features.yml') end |
#fedora_connection_builder ⇒ #call
A HTTP connection to use for Valkyrie Fedora requests
647 648 649 650 651 652 653 654 655 |
# File 'lib/hyrax/configuration.rb', line 647 def fedora_connection_builder @fedora_connection_builder ||= lambda { |url| Faraday.new(url) do |f| f.request :multipart f.request :url_encoded f.adapter Faraday.default_adapter end } end |
#ffmpeg_path ⇒ Object
we recommend setting the FFMPEG path with the ‘HYRAX_FFMPEG_PATH` environment variable
536 537 538 |
# File 'lib/hyrax/configuration.rb', line 536 def ffmpeg_path @ffmpeg_path ||= ENV.fetch('HYRAX_FFMPEG_PATH', 'ffmpeg') end |
#file_set_file_service ⇒ Class
Returns implementer of FileSetFileService.
314 |
# File 'lib/hyrax/configuration.rb', line 314 attr_writer :file_set_file_service |
#file_set_form ⇒ Class
1008 1009 1010 |
# File 'lib/hyrax/configuration.rb', line 1008 def file_set_form @file_set_form ||= Hyrax::Forms::FileSetForm end |
#file_set_indexer ⇒ Class
1040 1041 1042 |
# File 'lib/hyrax/configuration.rb', line 1040 def file_set_indexer @file_set_indexer ||= Hyrax::Indexers::FileSetIndexer end |
#file_set_model ⇒ #constantize
Returns a string representation of the admin set model.
301 302 303 |
# File 'lib/hyrax/configuration.rb', line 301 def file_set_model @file_set_model ||= 'Hyrax::FileSet' end |
#fits_message_length ⇒ Object
549 550 551 |
# File 'lib/hyrax/configuration.rb', line 549 def @fits_message_length ||= 5 end |
#fits_path ⇒ Object
we recommend setting the FITS path with the ‘HYRAX_FITS_PATH` environment variable
544 545 546 |
# File 'lib/hyrax/configuration.rb', line 544 def fits_path @fits_path ||= ENV.fetch('HYRAX_FITS_PATH', 'fits.sh') end |
#fixity_service ⇒ Object
320 321 322 |
# File 'lib/hyrax/configuration.rb', line 320 def fixity_service @fixity_service ||= Hyrax::Fixity::ActiveFedoraFixityService end |
#id_field ⇒ Object
989 990 991 |
# File 'lib/hyrax/configuration.rb', line 989 def id_field @id_field || index_field_mapper.id_field end |
#identifier_registrars ⇒ Object
1144 1145 1146 |
# File 'lib/hyrax/configuration.rb', line 1144 def identifier_registrars @identifier_registrars ||= {} end |
#iiif_image_compliance_level_uri ⇒ String
URL that indicates your IIIF image server compliance level
445 446 447 |
# File 'lib/hyrax/configuration.rb', line 445 def iiif_image_compliance_level_uri @iiif_image_compliance_level_uri ||= 'http://iiif.io/api/image/2/level2.json' end |
#iiif_image_server=(value) ⇒ Object (writeonly)
Sets the attribute iiif_image_server
399 400 401 |
# File 'lib/hyrax/configuration.rb', line 399 def iiif_image_server=(value) @iiif_image_server = value end |
#iiif_image_size_default ⇒ #String
IIIF image size default
452 453 454 |
# File 'lib/hyrax/configuration.rb', line 452 def iiif_image_size_default @iiif_image_size_default ||= '600,' end |
#iiif_image_url_builder ⇒ #call
URL that resolves to an image provided by a IIIF image server
431 432 433 |
# File 'lib/hyrax/configuration.rb', line 431 def iiif_image_url_builder @iiif_image_url_builder ||= ->(file_id, base_url, _size, _format) { "#{base_url}/downloads/#{file_id.split('/').first}" } end |
#iiif_info_url_builder ⇒ #call
URL that resolves to an info.json file provided by a IIIF image server
438 439 440 |
# File 'lib/hyrax/configuration.rb', line 438 def iiif_info_url_builder @iiif_info_url_builder ||= ->(_file_id, _base_url) { '' } end |
#iiif_manifest_cache_duration ⇒ Integer
Duration in which we should cache the generated IIIF manifest. Default is 30 days (in seconds).
468 469 470 |
# File 'lib/hyrax/configuration.rb', line 468 def iiif_manifest_cache_duration @iiif_manifest_cache_duration ||= 30.days.to_i end |
#iiif_metadata_fields ⇒ #Array
IIIF metadata - fields to display in the metadata section
459 460 461 |
# File 'lib/hyrax/configuration.rb', line 459 def @iiif_metadata_fields ||= Hyrax::Forms::WorkForm.required_fields end |
#import_export_jar_file_path ⇒ Object
556 557 558 |
# File 'lib/hyrax/configuration.rb', line 556 def import_export_jar_file_path @import_export_jar_file_path ||= "tmp/fcrepo-import-export.jar" end |
#index_field_mapper ⇒ Object
994 995 996 |
# File 'lib/hyrax/configuration.rb', line 994 def index_field_mapper @index_field_mapper ||= ActiveFedora.index_field_mapper end |
#ingest_queue_name ⇒ Object
730 731 732 |
# File 'lib/hyrax/configuration.rb', line 730 def ingest_queue_name @ingest_queue_name ||= :default end |
#libreoffice_path ⇒ Object
810 811 812 |
# File 'lib/hyrax/configuration.rb', line 810 def libreoffice_path @libreoffice_path ||= "soffice" end |
#license_service_class ⇒ Object
783 784 785 |
# File 'lib/hyrax/configuration.rb', line 783 def license_service_class @license_service_class ||= Hyrax::LicenseService end |
#location_service ⇒ Object
859 860 861 |
# File 'lib/hyrax/configuration.rb', line 859 def location_service @location_service ||= Hyrax::LocationService.new end |
#lock_retry_count ⇒ Object
709 710 711 |
# File 'lib/hyrax/configuration.rb', line 709 def lock_retry_count @lock_retry_count ||= 600 # Up to 2 minutes of trying at intervals up to 200ms end |
#lock_retry_delay ⇒ Object
723 724 725 |
# File 'lib/hyrax/configuration.rb', line 723 def lock_retry_delay @lock_retry_delay ||= 200 # milliseconds end |
#lock_time_to_live ⇒ Object
716 717 718 |
# File 'lib/hyrax/configuration.rb', line 716 def lock_time_to_live @lock_time_to_live ||= 60_000 # milliseconds end |
#logger ⇒ Logger
80 81 82 83 84 85 86 |
# File 'lib/hyrax/configuration.rb', line 80 def logger @logger ||= if defined?(Rails) Rails.logger else Valkyrie.logger end end |
#max_days_between_fixity_checks ⇒ Object
333 334 335 |
# File 'lib/hyrax/configuration.rb', line 333 def max_days_between_fixity_checks @max_days_between_fixity_checks ||= 7 end |
#max_notifications_for_dashboard ⇒ Object
825 826 827 |
# File 'lib/hyrax/configuration.rb', line 825 def max_notifications_for_dashboard @max_notifications_for_dashboard ||= 5 end |
#microdata_default_type ⇒ Object
701 702 703 |
# File 'lib/hyrax/configuration.rb', line 701 def microdata_default_type @microdata_default_type ||= 'http://schema.org/CreativeWork' end |
#minter_statefile ⇒ Object
391 392 393 |
# File 'lib/hyrax/configuration.rb', line 391 def minter_statefile @minter_statefile ||= '/tmp/minter-state' end |
#noid_minter_class ⇒ Object
386 387 388 |
# File 'lib/hyrax/configuration.rb', line 386 def noid_minter_class @noid_minter_class ||= ::Noid::Rails::Minter::Db end |
#noid_template ⇒ Object
381 382 383 |
# File 'lib/hyrax/configuration.rb', line 381 def noid_template @noid_template ||= '.reeddeeddk' end |
#owner_permission_levels ⇒ Object
1076 1077 1078 |
# File 'lib/hyrax/configuration.rb', line 1076 def @owner_permission_levels ||= { I18n.t('hyrax.permission_levels.owner.edit') => "edit" } end |
#pcdm_collection_form ⇒ Class
1015 1016 1017 |
# File 'lib/hyrax/configuration.rb', line 1015 def pcdm_collection_form @pcdm_collection_form ||= Hyrax::Forms::PcdmCollectionForm end |
#pcdm_collection_indexer ⇒ Class
1047 1048 1049 |
# File 'lib/hyrax/configuration.rb', line 1047 def pcdm_collection_indexer @pcdm_collection_indexer ||= Hyrax::Indexers::PcdmCollectionIndexer end |
#pcdm_object_form_builder ⇒ Proc
1022 1023 1024 1025 1026 1027 1028 |
# File 'lib/hyrax/configuration.rb', line 1022 def pcdm_object_form_builder return @pcdm_object_form_builder unless @pcdm_object_form_builder.nil? "Hyrax::Forms::PcdmObjectForm".constantize # autoload @pcdm_object_form_builder = lambda do |model_class| Hyrax::Forms::PcdmObjectForm(model_class) end end |
#pcdm_object_indexer_builder ⇒ Proc
1054 1055 1056 1057 1058 1059 1060 |
# File 'lib/hyrax/configuration.rb', line 1054 def pcdm_object_indexer_builder return @pcdm_object_indexer_builder unless @pcdm_object_indexer_builder.nil? "Hyrax::Indexers::PcdmObjectIndexer".constantize # autoload @pcdm_object_indexer_builder = lambda do |model_class| Hyrax::Indexers::PcdmObjectIndexer(model_class) end end |
#permission_levels ⇒ Object
1070 1071 1072 1073 |
# File 'lib/hyrax/configuration.rb', line 1070 def @permission_levels ||= { I18n.t('hyrax.permission_levels.read') => "read", I18n.t('hyrax.permission_levels.edit') => "edit" } end |
#permission_options ⇒ Object
1081 1082 1083 1084 1085 |
# File 'lib/hyrax/configuration.rb', line 1081 def @permission_options ||= { I18n.t('hyrax.permission_levels.options.none') => "none", I18n.t('hyrax.permission_levels.options.read') => "read", I18n.t('hyrax.permission_levels.options.edit') => "edit" } end |
#persistent_hostpath ⇒ Object
799 800 801 |
# File 'lib/hyrax/configuration.rb', line 799 def persistent_hostpath @persistent_hostpath ||= "http://localhost/files/" end |
#public_user_group_name ⇒ String
360 361 362 |
# File 'lib/hyrax/configuration.rb', line 360 def public_user_group_name @public_user_group_name ||= 'public' end |
#publisher ⇒ Object
1088 1089 1090 |
# File 'lib/hyrax/configuration.rb', line 1088 def publisher @publisher ||= Hyrax::Publisher.instance end |
#query_index_from_valkyrie ⇒ Boolean
Returns whether to use the valkyrie index.
672 673 674 |
# File 'lib/hyrax/configuration.rb', line 672 def query_index_from_valkyrie @query_index_from_valkyrie ||= false end |
#range_for_number_of_results_to_display_per_page ⇒ Array<Integer>
1158 1159 1160 |
# File 'lib/hyrax/configuration.rb', line 1158 def range_for_number_of_results_to_display_per_page @range_for_number_of_results_to_display_per_page ||= [10, 20, 50, 100] end |
#realtime_notifications=(value) ⇒ Object (writeonly)
rubocop:disable Layout/LineLength
840 841 842 |
# File 'lib/hyrax/configuration.rb', line 840 def realtime_notifications=(value) @realtime_notifications = value end |
#redis_connection ⇒ Object
Returns the value of attribute redis_connection.
803 804 805 |
# File 'lib/hyrax/configuration.rb', line 803 def redis_connection @redis_connection end |
#redis_namespace ⇒ Object
805 806 807 |
# File 'lib/hyrax/configuration.rb', line 805 def redis_namespace @redis_namespace ||= ENV.fetch("HYRAX_REDIS_NAMESPACE", "hyrax") end |
#registered_ingest_dirs ⇒ Object
737 738 739 740 741 742 743 744 745 746 747 |
# File 'lib/hyrax/configuration.rb', line 737 def registered_ingest_dirs @registered_ingest_dirs ||= \ if defined? BrowseEverything file_system_dirs = Array.wrap(BrowseEverything.config['file_system'].try(:[], :home)).compact # Include the Rails tmp directory for cases where the BrowseEverything provider is required to download the file to a temporary directory first tmp_dir = [Rails.root.join('tmp').to_s] file_system_dirs + tmp_dir else [] end end |
#registered_user_group_name ⇒ String
367 368 369 |
# File 'lib/hyrax/configuration.rb', line 367 def registered_user_group_name @registered_user_group_name ||= 'registered' end |
#rendering_predicate ⇒ RDF::URI
defaults to dc:hasFormat
Set predicate for rendering to dc:hasFormat as defined in IIIF Presentation API context: iiif.io/api/presentation/2/context.json
479 480 481 |
# File 'lib/hyrax/configuration.rb', line 479 def rendering_predicate @rendering_predicate ||= ::RDF::Vocab::DC.hasFormat end |
#rights_statement_service_class ⇒ Object
794 795 796 |
# File 'lib/hyrax/configuration.rb', line 794 def rights_statement_service_class @rights_statement_service_class ||= Hyrax::RightsStatementService end |
#show_work_item_rows ⇒ Object
882 883 884 |
# File 'lib/hyrax/configuration.rb', line 882 def show_work_item_rows @show_work_item_rows ||= 10 # rows on show view end |
#simple_schema_loader_config_search_paths ⇒ Array<Pathname>
A configuration for modifying the SimpleSchemaLoader#config_search_paths which will allow gems to add their own metadata yaml files and easily keep them within the gem.
1187 1188 1189 |
# File 'lib/hyrax/configuration.rb', line 1187 def simple_schema_loader_config_search_paths @simple_schema_loader_config_search_paths ||= [Rails.root, Hyrax::Engine.root] end |
#solr_default_method ⇒ Object
1139 1140 1141 |
# File 'lib/hyrax/configuration.rb', line 1139 def solr_default_method @solr_default_method ||= :post end |
#solr_select_path ⇒ Object
1134 1135 1136 |
# File 'lib/hyrax/configuration.rb', line 1134 def solr_select_path @solr_select_path ||= ActiveFedora.solr_config.fetch(:select_path, 'select') end |
#subject_prefix ⇒ Object
1118 1119 1120 |
# File 'lib/hyrax/configuration.rb', line 1118 def subject_prefix @subject_prefix ||= "Contact form:" end |
#system_user_key ⇒ Object
890 891 892 |
# File 'lib/hyrax/configuration.rb', line 890 def system_user_key @system_user_key ||= '[email protected]' end |
#temp_file_base ⇒ Object
Returns the value of attribute temp_file_base.
692 693 694 |
# File 'lib/hyrax/configuration.rb', line 692 def temp_file_base @temp_file_base end |
#translate_id_to_uri ⇒ Object
1106 1107 1108 1109 1110 |
# File 'lib/hyrax/configuration.rb', line 1106 def translate_id_to_uri @translate_id_to_uri ||= lambda do |id| "#{ActiveFedora.fedora.host}#{ActiveFedora.fedora.base_path}/#{::Noid::Rails.treeify(id.to_s)}" end end |
#translate_uri_to_id ⇒ Object
1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 |
# File 'lib/hyrax/configuration.rb', line 1094 def translate_uri_to_id @translate_uri_to_id ||= begin baseparts = 2 + [(::Noid::Rails.config.template.gsub(/\.[rsz]/, '').length.to_f / 2).ceil, 4].min lambda do |uri| uri.to_s.split(ActiveFedora.fedora.base_path).last.split('/', baseparts).last end end end |
#upload_path ⇒ Object
508 509 510 |
# File 'lib/hyrax/configuration.rb', line 508 def upload_path @upload_path ||= ->() { Pathname.new(ENV.fetch('HYRAX_UPLOAD_PATH') { Rails.root.join('tmp', 'uploads') }) } end |
#uploader ⇒ Object
1129 1130 1131 |
# File 'lib/hyrax/configuration.rb', line 1129 def uploader @uploader ||= default_uploader_config end |
#use_valkyrie=(value) ⇒ Object (writeonly)
Sets the attribute use_valkyrie
684 685 686 |
# File 'lib/hyrax/configuration.rb', line 684 def use_valkyrie=(value) @use_valkyrie = value end |
#valkyrie_transition ⇒ Object
Returns the value of attribute valkyrie_transition.
326 327 328 |
# File 'lib/hyrax/configuration.rb', line 326 def valkyrie_transition @valkyrie_transition end |
#virus_scanner ⇒ Object
563 564 565 566 567 568 569 570 |
# File 'lib/hyrax/configuration.rb', line 563 def virus_scanner @virus_scanner ||= if Hyrax.primary_work_type.respond_to?(:default_system_virus_scanner) Hyrax.primary_work_type.default_system_virus_scanner else Hyrax::VirusScanner end end |
#visibility_map ⇒ Hyrax::VisibilityMap
A mapping from visibility string values to permissions; the default and reference implementation is provided by VisibilityMap.
1169 1170 1171 |
# File 'lib/hyrax/configuration.rb', line 1169 def visibility_map @visibility_map ||= Hyrax::VisibilityMap.instance end |
#work_requires_files=(value) ⇒ Object (writeonly)
Sets the attribute work_requires_files
875 876 877 |
# File 'lib/hyrax/configuration.rb', line 875 def work_requires_files=(value) @work_requires_files = value end |
#working_path ⇒ Object
501 502 503 |
# File 'lib/hyrax/configuration.rb', line 501 def working_path @working_path ||= Pathname.new(ENV.fetch('HYRAX_UPLOAD_PATH', Rails.root.join('tmp', 'uploads'))) end |
Instance Method Details
#active_deposit_agreement_acceptance? ⇒ Boolean
865 866 867 868 |
# File 'lib/hyrax/configuration.rb', line 865 def active_deposit_agreement_acceptance? return true if @active_deposit_agreement_acceptance.nil? @active_deposit_agreement_acceptance end |
#admin_set_class ⇒ Class
Returns the configured admin set model class.
948 949 950 |
# File 'lib/hyrax/configuration.rb', line 948 def admin_set_class admin_set_model.constantize end |
#admin_set_class_for_wings ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
There are assumptions baked into Wings and tests regarding what the correct conceptual admin set will be. This helps provide that connective tissue.
It is definitely a hack to appease tests and the Double Combo/Goddess adapter migration.
961 962 963 964 965 |
# File 'lib/hyrax/configuration.rb', line 961 def admin_set_class_for_wings return admin_set_class if admin_set_class < Hyrax::Resource Hyrax::AdministrativeSet end |
#analytics? ⇒ Boolean
125 126 127 128 |
# File 'lib/hyrax/configuration.rb', line 125 def analytics? @analytics ||= ActiveModel::Type::Boolean.new.cast(ENV.fetch('HYRAX_ANALYTICS', false)) end |
#analytics_reporting? ⇒ Boolean
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 |
# File 'lib/hyrax/configuration.rb', line 135 def analytics_reporting? @analytics_reporting ||= begin required_env_vars = %w[ HYRAX_ANALYTICS_REPORTING GOOGLE_ANALYTICS_ID GOOGLE_ANALYTICS_PROPERTY_ID ] required_env_vars << if ENV['GOOGLE_ACCOUNT_JSON'].blank? 'GOOGLE_ACCOUNT_JSON_PATH' else 'GOOGLE_ACCOUNT_JSON' end return false if required_env_vars.any? { |var| ENV.fetch(var, '').blank? } ActiveModel::Type::Boolean.new.cast(ENV.fetch('HYRAX_ANALYTICS_REPORTING', false)) end end |
#arkivo_api? ⇒ Boolean
835 836 837 |
# File 'lib/hyrax/configuration.rb', line 835 def arkivo_api? @arkivo_api ||= false end |
#branding_storage_adapter ⇒ Valkyrie::StorageAdapter
622 623 624 |
# File 'lib/hyrax/configuration.rb', line 622 def branding_storage_adapter @branding_storage_adapter ||= Valkyrie::StorageAdapter.find(:branding_disk) end |
#branding_storage_adapter=(adapter) ⇒ Object
628 629 630 |
# File 'lib/hyrax/configuration.rb', line 628 def branding_storage_adapter=(adapter) @branding_storage_adapter = Valkyrie::StorageAdapter.find(adapter.to_sym) end |
#browse_everything? ⇒ Boolean
815 816 817 |
# File 'lib/hyrax/configuration.rb', line 815 def browse_everything? @browse_everything ||= nil end |
#citations? ⇒ Boolean
820 821 822 |
# File 'lib/hyrax/configuration.rb', line 820 def citations? @citations ||= false end |
#collection_class ⇒ Class
Returns the configured collection model class.
919 920 921 |
# File 'lib/hyrax/configuration.rb', line 919 def collection_class collection_model.safe_constantize end |
#collection_class_for_wings ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
There are assumptions baked into Wings and tests regarding what the correct conceptual collection will be. This helps provide that connective tissue.
It is definitely a hack to appease tests and the Double Combo/Goddess adapter migration.
932 933 934 935 936 |
# File 'lib/hyrax/configuration.rb', line 932 def collection_class_for_wings return collection_class if collection_class < Hyrax::Resource Hyrax::PcdmCollection end |
#curation_concerns ⇒ Array<Class>
Returns the registered curation concerns.
772 773 774 |
# File 'lib/hyrax/configuration.rb', line 772 def curation_concerns registered_curation_concern_types.map(&:constantize) end |
#default_admin_set ⇒ Hyrax::AdministrativeSet
Returns the default admin set.
976 977 978 |
# File 'lib/hyrax/configuration.rb', line 976 def default_admin_set @default_admin_set ||= Hyrax::AdminSetCreateService.find_or_create_default_admin_set end |
#default_admin_set_id ⇒ String
Returns the default admin set id.
969 970 971 |
# File 'lib/hyrax/configuration.rb', line 969 def default_admin_set_id default_admin_set.id.to_s end |
#derivatives_storage_adapter ⇒ Valkyrie::StorageAdapter
634 635 636 |
# File 'lib/hyrax/configuration.rb', line 634 def derivatives_storage_adapter @derivatives_storage_adapter ||= Valkyrie::StorageAdapter.find(:derivatives_disk) end |
#derivatives_storage_adapter=(adapter) ⇒ Object
640 641 642 |
# File 'lib/hyrax/configuration.rb', line 640 def derivatives_storage_adapter=(adapter) @derivatives_storage_adapter = Valkyrie::StorageAdapter.find(adapter.to_sym) end |
#display_media_download_link? ⇒ Boolean
612 613 614 615 |
# File 'lib/hyrax/configuration.rb', line 612 def display_media_download_link? return @display_media_download_link unless @display_media_download_link.nil? @display_media_download_link = true end |
#display_microdata? ⇒ Boolean
695 696 697 698 |
# File 'lib/hyrax/configuration.rb', line 695 def display_microdata? return @display_microdata unless @display_microdata.nil? @display_microdata = true end |
#display_share_button_when_not_logged_in? ⇒ Boolean
1064 1065 1066 1067 |
# File 'lib/hyrax/configuration.rb', line 1064 def return true if @display_share_button_when_not_logged_in.nil? @display_share_button_when_not_logged_in end |
#enable_noids? ⇒ Boolean
375 376 377 378 |
# File 'lib/hyrax/configuration.rb', line 375 def enable_noids? return @enable_noids unless @enable_noids.nil? @enable_noids = true end |
#extract_full_text? ⇒ Boolean
1123 1124 1125 1126 |
# File 'lib/hyrax/configuration.rb', line 1123 def extract_full_text? return @extract_full_text unless @extract_full_text.nil? @extract_full_text = true end |
#file_set_class ⇒ Class
Returns the configured admin set model class.
307 308 309 |
# File 'lib/hyrax/configuration.rb', line 307 def file_set_class file_set_model.constantize end |
#geonames_username=(username) ⇒ Object
rubocop:enable Layout/LineLength
855 856 857 |
# File 'lib/hyrax/configuration.rb', line 855 def geonames_username=(username) Qa::Authorities::Geonames.username = username end |
#iiif_image_server? ⇒ Boolean
Default is false
Enable IIIF image service. This is required to use the IIIF viewer enabled show page
If you have run the hyrax:riiif generator, an embedded riiif service will be used to deliver images via IIIF. If you have not, you will need to configure the following other configuration values to work with your image server.
423 424 425 426 |
# File 'lib/hyrax/configuration.rb', line 423 def iiif_image_server? return @iiif_image_server unless @iiif_image_server.nil? @iiif_image_server = false end |
#index_adapter ⇒ #save, ...
Returns an indexing adapter.
660 661 662 |
# File 'lib/hyrax/configuration.rb', line 660 def index_adapter @index_adapter ||= Valkyrie::IndexingAdapter.find(:null_index) end |
#index_adapter=(adapter) ⇒ Object
666 667 668 |
# File 'lib/hyrax/configuration.rb', line 666 def index_adapter=(adapter) @index_adapter = Valkyrie::IndexingAdapter.find(adapter.to_sym) end |
#lookup_mimes(type) ⇒ Object
First see if we can get them from the FileSet model. If not, use configuration. FileSet method names for backwards compatibility.
261 262 263 264 265 |
# File 'lib/hyrax/configuration.rb', line 261 def lookup_mimes(type) vals = "FileSet".safe_constantize.try(type) return vals if vals.is_a?(Array) mime_types_map[type] end |
#mime_types_map ⇒ Object
rubocop:disable Metrics/MethodLength
215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 |
# File 'lib/hyrax/configuration.rb', line 215 def mime_types_map # rubocop:disable Metrics/MethodLength { audio_mime_types: [ 'audio/mp3', 'audio/mpeg', 'audio/wav', 'audio/x-wave', 'audio/x-wav', 'audio/ogg' ], image_mime_types: [ 'image/png', 'image/jpeg', 'image/jpg', 'image/jp2', 'image/bmp', 'image/gif', 'image/tiff' ], office_mime_types: [ 'text/rtf', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.oasis.opendocument.text', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.presentationml.presentation' ], pdf_mime_types: ['application/pdf'], video_mime_types: [ 'video/mpeg', 'video/mp4', 'video/webm', 'video/x-msvideo', 'video/avi', 'video/quicktime', 'application/mxf' ] } end |
#realtime_notifications? ⇒ Boolean
841 842 843 844 845 846 847 848 849 850 851 852 |
# File 'lib/hyrax/configuration.rb', line 841 def realtime_notifications? # Coerce @realtime_notifications to false if server software # does not support WebSockets, and warn the user that we are # overriding the value in0 their config unless it's already # flipped to false if ENV.fetch('SERVER_SOFTWARE', '').match(/Apache.*Phusion_Passenger/).present? Hyrax.logger.warn('Cannot enable realtime notifications atop Passenger + Apache. Coercing `Hyrax.config.realtime_notifications` to `false`. Set this value to `false` in config/initializers/hyrax.rb to stop seeing this warning.') unless @realtime_notifications == false @realtime_notifications = false end return @realtime_notifications unless @realtime_notifications.nil? @realtime_notifications = true end |
#register_curation_concern(*curation_concern_types) ⇒ Object
Registers the given curation concern model in the configuration
758 759 760 761 762 |
# File 'lib/hyrax/configuration.rb', line 758 def register_curation_concern(*curation_concern_types) Array.wrap(curation_concern_types).flatten.compact.each do |cc_type| @registered_concerns << cc_type unless @registered_concerns.include?(cc_type) end end |
#register_roles {|Hyrax::RoleRegistry| ... } ⇒ TrueClass
Exposes a means to register application critical roles
115 116 117 118 |
# File 'lib/hyrax/configuration.rb', line 115 def register_roles yield(@role_registry) true end |
#registered_curation_concern_types ⇒ Array<String>
The normalization done by this method must occur after the initialization process so it can take advantage of irregular inflections from config/initializers/inflections.rb
767 768 769 |
# File 'lib/hyrax/configuration.rb', line 767 def registered_curation_concern_types @registered_concerns.map { |cc_type| normalize_concern_name(cc_type) } end |
#reset_default_admin_set ⇒ Object
If the default admin set is changed, call reset. The next time one of the default admin set configs is checked, the default_admin_set variable will be updated.
984 985 986 |
# File 'lib/hyrax/configuration.rb', line 984 def reset_default_admin_set @default_admin_set = nil end |
#use_valkyrie? ⇒ Boolean
Returns whether to use valkyrie storage features.
679 680 681 682 683 |
# File 'lib/hyrax/configuration.rb', line 679 def use_valkyrie? return @use_valkyrie unless @use_valkyrie.nil? return true if disable_wings # always return true if wings is disabled ActiveModel::Type::Boolean.new.cast(ENV.fetch('HYRAX_VALKYRIE', false)) end |
#valkyrie_transition? ⇒ Boolean
327 328 329 330 |
# File 'lib/hyrax/configuration.rb', line 327 def valkyrie_transition? @valkyrie_transition ||= ActiveModel::Type::Boolean.new.cast(ENV.fetch('VALKYRIE_TRANSITION', false)) end |
#work_requires_files? ⇒ Boolean
876 877 878 879 |
# File 'lib/hyrax/configuration.rb', line 876 def work_requires_files? return true if @work_requires_files.nil? @work_requires_files end |