module CDMDEXER

A handful of very simple formatters to clean up CONTENTdm API metadata

Constants

VERSION

Public Class Methods

const_missing(name) click to toggle source
# File lib/cdmdexer/hooks.rb, line 2
def self.const_missing(name)
  if name.to_s == 'Solr'
    hook(pattern: name.to_s, default: DefaultSolr)
  elsif name.to_s == 'CompletedCallback'
    hook(pattern: name.to_s, default: DefaultCompletedCallback)
  elsif name.to_s == 'OaiNotification'
    hook(pattern: name.to_s, default: DefaultOaiNotification)
  elsif name.to_s == 'LoaderNotification'
    hook(pattern: name.to_s, default: DefaultLoaderNotification)
  elsif name.to_s == 'CdmNotification'
    hook(pattern: name.to_s, default: DefaultCdmNotification)
  elsif name.to_s == 'CdmError'
    hook(pattern: name.to_s, default: DefaultCdmError)
  end
end
find_hook(pattern, default) click to toggle source
# File lib/cdmdexer/hooks.rb, line 26
def self.find_hook(pattern, default)
  CDMDEXER.constants.find do |konst|
    if Object.const_get("CDMDEXER::#{konst}") != default
      /#{pattern}/ =~ konst.to_s
    end
  end
end
hook(pattern: '', default: false) click to toggle source
# File lib/cdmdexer/hooks.rb, line 18
def self.hook(pattern: '', default: false)
  if find_hook(pattern, default)
    Object.const_get("CDMDEXER::#{find_hook(pattern, default)}")
  else
    default
  end
end