Sha256: 33f0c31b284b0dd04d1c6696ffb21b40d64e4dce1eeeb9046d301f872e92ab5d

Contents?: true

Size: 1019 Bytes

Versions: 2

Compression:

Stored size: 1019 Bytes

Contents

module FedoraMigrate
  class FileConfigurator < ActiveFedora::FileConfigurator
    def fedora3_config
      load_fedora3_config
      @fedora_config
    end

    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
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fedora-migrate-0.5.0 lib/fedora_migrate/file_configurator.rb
fedora-migrate-0.4.0 lib/fedora_migrate/file_configurator.rb