Class: FedoraMigrate::FileConfigurator

Inherits:
ActiveFedora::FileConfigurator
  • Object
show all
Defined in:
lib/fedora_migrate/file_configurator.rb

Instance Method Summary collapse

Instance Method Details

#fedora3_configObject



3
4
5
6
# File 'lib/fedora_migrate/file_configurator.rb', line 3

def fedora3_config
  load_fedora3_config
  @fedora_config
end

#load_fedora3_configObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/fedora_migrate/file_configurator.rb', line 8

def load_fedora3_config
  return @fedora_config unless @fedora_config.empty?
  @fedora_config_path = config_path(:fedora3)
  Logger.info("loading fedora config from #{::File.expand_path(@fedora_config_path)}")

  begin
    config_erb = ERB.new(IO.read(@fedora_config_path)).result(binding)
  rescue StandardError
    raise("fedora.yml was found, but could not be parsed with ERB. \n#{$ERROR_INFO.inspect}")
  end

  begin
    fedora_yml = YAML.load(config_erb)
  rescue Psych::SyntaxError => e
    raise "fedora.yml was found, but could not be parsed. " \
          "Error #{e.message}"
  end

  config = fedora_yml.symbolize_keys

  cfg = config[ActiveFedora.environment.to_sym] || {}
  @fedora_config = cfg.is_a?(Array) ? cfg.map(&:symbolize_keys) : cfg.symbolize_keys
end