class Pdfh::Settings
Handles the config yaml data mapping, and associates a file name with a doc type
Attributes
base_path[R]
document_types[R]
lookup_dirs[R]
Public Class Methods
new(config_file)
click to toggle source
@param config_file [String] @return [self]
# File lib/pdfh/settings.rb, line 12 def initialize(config_file) file_hash = YAML.load_file(config_file) Pdfh.verbose_print "Loaded configuration file: #{config_file}" process_lookup_dirs(file_hash["lookup_dirs"]) process_destination_base(file_hash["destination_base_path"]) Pdfh.verbose_print "Configured Look up directories:" lookup_dirs.each_with_index { |dir, idx| Pdfh.verbose_print " #{idx + 1}. #{dir}" } Pdfh.verbose_print @document_types = load_doc_types(file_hash["document_types"]) end
Private Instance Methods
load_doc_types(doc_types)
click to toggle source
@return [Array<DocumentType>]
# File lib/pdfh/settings.rb, line 49 def load_doc_types(doc_types) doc_types.map { |data| DocumentType.new(data) } end
process_destination_base(dir)
click to toggle source
@return [void]
# File lib/pdfh/settings.rb, line 42 def process_destination_base(dir) @base_path = File.expand_path(dir) raise ArgumentError, "Destination base directory is not configured." if @base_path.nil? raise ArgumentError, "Destination base directory #{@base_path} does not exist." unless File.directory?(@base_path) end
process_lookup_dirs(lookup_dirs_list)
click to toggle source
@return [void]
# File lib/pdfh/settings.rb, line 29 def process_lookup_dirs(lookup_dirs_list) @lookup_dirs = lookup_dirs_list.filter_map do |dir| expanded = File.expand_path(dir) unless File.directory?(expanded) Pdfh.verbose_print " ** Error, Directory #{dir} does not exists." next end expanded end raise ArgumentError, "No valid Look up directories configured." if lookup_dirs.empty? end