class CurationConcerns::Configuration
Attributes
Override characterization runner
An anonymous function that receives a path to a file and returns AntiVirusScanner::NO_VIRUS_FOUND_RETURN_VALUE if no virus is found; Any other returned value means a virus was found
Path on the local file system where derivatives will be stored
Attributes for the lock manager which ensures a single process/thread is mutating a ore:Aggregation at once. @!attribute [w] lock_retry_count
How many times to retry to acquire the lock before raising UnableToAcquireLockError
@!attribute [w] lock_retry_delay
Maximum wait time in milliseconds before retrying. Wait time is a random value between 0 and retry_delay.
@!attribute [w] lock_time_to_live
How long to hold the lock in milliseconds
Path on the local file system where originals will be staged before being ingested into Fedora.
Public Class Methods
# File lib/curation_concerns/configuration.rb, line 17 def initialize @registered_concerns = [] end
Public Instance Methods
@return [Array<Class>] the registered curation concerns
# File lib/curation_concerns/configuration.rb, line 153 def curation_concerns registered_curation_concern_types.map(&:constantize) end
# File lib/curation_concerns/configuration.rb, line 25 def default_antivirus_instance @default_antivirus_instance ||= lambda do |_file_path| AntiVirusScanner::NO_VIRUS_FOUND_RETURN_VALUE end end
# File lib/curation_concerns/configuration.rb, line 33 def derivatives_path @derivatives_path ||= File.join(Rails.root, 'tmp', 'derivatives') end
# File lib/curation_concerns/configuration.rb, line 63 def display_microdata return @display_microdata unless @display_microdata.nil? @display_microdata = true end
# File lib/curation_concerns/configuration.rb, line 44 def enable_ffmpeg return @enable_ffmpeg unless @enable_ffmpeg.nil? @enable_ffmpeg = false end
# File lib/curation_concerns/configuration.rb, line 79 def enable_noids return @enable_noids unless @enable_noids.nil? @enable_noids = true end
# File lib/curation_concerns/configuration.rb, line 50 def ffmpeg_path @ffmpeg_path ||= 'ffmpeg' end
# File lib/curation_concerns/configuration.rb, line 55 def fits_message_length @fits_message_length ||= 5 end
# File lib/curation_concerns/configuration.rb, line 100 def fits_path @fits_path ||= 'fits.sh' end
# File lib/curation_concerns/configuration.rb, line 111 def lock_retry_count @lock_retry_count ||= 600 # Up to 2 minutes of trying at intervals up to 200ms end
# File lib/curation_concerns/configuration.rb, line 125 def lock_retry_delay @lock_retry_delay ||= 200 # milliseconds end
# File lib/curation_concerns/configuration.rb, line 118 def lock_time_to_live @lock_time_to_live ||= 60_000 # milliseconds end
# File lib/curation_concerns/configuration.rb, line 74 def max_days_between_audits @max_days_between_audits ||= 7 end
# File lib/curation_concerns/configuration.rb, line 69 def microdata_default_type @microdata_default_type ||= 'http://schema.org/CreativeWork' end
# File lib/curation_concerns/configuration.rb, line 90 def minter_statefile @minter_statefile ||= '/tmp/minter-state' end
# File lib/curation_concerns/configuration.rb, line 85 def noid_template @noid_template ||= '.reeddeeddk' end
# File lib/curation_concerns/configuration.rb, line 95 def redis_namespace @redis_namespace ||= 'curation_concerns' end
Registers the given curation concern model in the configuration @param [Array<Symbol>,Symbol] curation_concern_types
# File lib/curation_concerns/configuration.rb, line 137 def register_curation_concern(*curation_concern_types) Array(curation_concern_types).flatten.compact.each do |cc_type| unless @registered_concerns.include?(cc_type) @registered_concerns << cc_type end end end
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 @return [Array<String>] the class names of the registered curation concerns
# File lib/curation_concerns/configuration.rb, line 148 def registered_curation_concern_types @registered_concerns.map { |cc_type| normalize_concern_name(cc_type) } end
# File lib/curation_concerns/configuration.rb, line 39 def working_path @working_path ||= File.join(Rails.root, 'tmp', 'uploads') end
Private Instance Methods
@param [Symbol] the symbol representing the model @return [String] the class name for the model
# File lib/curation_concerns/configuration.rb, line 161 def normalize_concern_name(c) c.to_s.camelize end