Class: Pdfh::Services::SettingsValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/pdfh/services/settings_validator.rb

Overview

Validates and processes raw configuration data from YAML into clean, validated attributes ready for Settings construction.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config_data) ⇒ Self

Parameters:

  • config_data (Hash)


17
18
19
# File 'lib/pdfh/services/settings_validator.rb', line 17

def initialize(config_data)
  @config_data = config_data
end

Class Method Details

.call(config_data) ⇒ Hash

Returns Validated and processed attributes for Settings.

Parameters:

  • config_data (Hash)

    Raw configuration hash from YAML

Returns:

  • (Hash)

    Validated and processed attributes for Settings

Raises:

  • (ArgumentError)

    if configuration is invalid



11
12
13
# File 'lib/pdfh/services/settings_validator.rb', line 11

def self.call(config_data)
  new(config_data).call
end

Instance Method Details

#callHash{Symbol => Object}

Returns with keys :lookup_dirs, :base_path, :document_types.

Returns:

  • (Hash{Symbol => Object})

    with keys :lookup_dirs, :base_path, :document_types



22
23
24
25
26
27
28
# File 'lib/pdfh/services/settings_validator.rb', line 22

def call
  {
    lookup_dirs: process_lookup_dirs(@config_data[:lookup_dirs]),
    base_path: process_destination_base(@config_data[:destination_base_path]),
    document_types: build_doc_types(@config_data[:document_types])
  }
end