class CurationConcerns::Configuration

Attributes

analytic_start_date[RW]
analytics[RW]
characterization_runner[RW]

Override characterization runner

default_antivirus_instance[W]

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

derivatives_path[W]

Path on the local file system where derivatives will be stored

display_microdata[W]
enable_ffmpeg[W]
enable_local_ingest[RW]
enable_noids[W]
ffmpeg_path[W]
fits_message_length[W]
fits_path[W]
lock_retry_count[W]

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
lock_retry_delay[W]

@!attribute [w] lock_retry_delay

Maximum wait time in milliseconds before retrying. Wait time is a random value between 0 and retry_delay.
lock_time_to_live[W]

@!attribute [w] lock_time_to_live

How long to hold the lock in milliseconds
max_days_between_audits[W]
microdata_default_type[W]
minter_statefile[W]
noid_template[W]
redis_namespace[W]
temp_file_base[RW]
working_path[W]

Path on the local file system where originals will be staged before being ingested into Fedora.

Public Class Methods

new() click to toggle source
# File lib/curation_concerns/configuration.rb, line 17
def initialize
  @registered_concerns = []
end

Public Instance Methods

curation_concerns() click to toggle source

@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
default_antivirus_instance() click to toggle source
# 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
derivatives_path() click to toggle source
# File lib/curation_concerns/configuration.rb, line 33
def derivatives_path
  @derivatives_path ||= File.join(Rails.root, 'tmp', 'derivatives')
end
display_microdata() click to toggle source
# File lib/curation_concerns/configuration.rb, line 63
def display_microdata
  return @display_microdata unless @display_microdata.nil?
  @display_microdata = true
end
enable_ffmpeg() click to toggle source
# File lib/curation_concerns/configuration.rb, line 44
def enable_ffmpeg
  return @enable_ffmpeg unless @enable_ffmpeg.nil?
  @enable_ffmpeg = false
end
enable_noids() click to toggle source
# File lib/curation_concerns/configuration.rb, line 79
def enable_noids
  return @enable_noids unless @enable_noids.nil?
  @enable_noids = true
end
ffmpeg_path() click to toggle source
# File lib/curation_concerns/configuration.rb, line 50
def ffmpeg_path
  @ffmpeg_path ||= 'ffmpeg'
end
fits_message_length() click to toggle source
# File lib/curation_concerns/configuration.rb, line 55
def fits_message_length
  @fits_message_length ||= 5
end
fits_path() click to toggle source
# File lib/curation_concerns/configuration.rb, line 100
def fits_path
  @fits_path ||= 'fits.sh'
end
lock_retry_count() click to toggle source
# 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
lock_retry_delay() click to toggle source
# File lib/curation_concerns/configuration.rb, line 125
def lock_retry_delay
  @lock_retry_delay ||= 200 # milliseconds
end
lock_time_to_live() click to toggle source
# File lib/curation_concerns/configuration.rb, line 118
def lock_time_to_live
  @lock_time_to_live ||= 60_000 # milliseconds
end
max_days_between_audits() click to toggle source
# File lib/curation_concerns/configuration.rb, line 74
def max_days_between_audits
  @max_days_between_audits ||= 7
end
microdata_default_type() click to toggle source
# File lib/curation_concerns/configuration.rb, line 69
def microdata_default_type
  @microdata_default_type ||= 'http://schema.org/CreativeWork'
end
minter_statefile() click to toggle source
# File lib/curation_concerns/configuration.rb, line 90
def minter_statefile
  @minter_statefile ||= '/tmp/minter-state'
end
noid_template() click to toggle source
# File lib/curation_concerns/configuration.rb, line 85
def noid_template
  @noid_template ||= '.reeddeeddk'
end
redis_namespace() click to toggle source
# File lib/curation_concerns/configuration.rb, line 95
def redis_namespace
  @redis_namespace ||= 'curation_concerns'
end
register_curation_concern(*curation_concern_types) click to toggle source

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
registered_curation_concern_types() click to toggle source

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
working_path() click to toggle source
# File lib/curation_concerns/configuration.rb, line 39
def working_path
  @working_path ||= File.join(Rails.root, 'tmp', 'uploads')
end

Private Instance Methods

normalize_concern_name(c) click to toggle source

@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