Module: ScraperUtils::AuthorityUtils

Defined in:
lib/scraper_utils/authority_utils.rb

Overview

Utilities for managing and selecting authorities

Constant Summary collapse

AUTHORITIES_ENV_VAR =
"MORPH_AUTHORITIES"

Class Method Summary collapse

Class Method Details

.selected_authorities(all_authorities) ⇒ Array<Symbol>

Selects authorities based on environment variable or returns all authorities

Parameters:

  • all_authorities (Array<Symbol>)

    Full list of available authorities

Returns:

  • (Array<Symbol>)

    Selected subset of authorities or all authorities

Raises:



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/scraper_utils/authority_utils.rb', line 13

def self.selected_authorities(all_authorities)
  if ENV[AUTHORITIES_ENV_VAR]
    authorities = ENV[AUTHORITIES_ENV_VAR].split(",").map(&:strip).map(&:to_sym)
    invalid = authorities - all_authorities
    unless invalid.empty?
      raise ScraperUtils::Error,
            "Invalid authorities specified in MORPH_AUTHORITIES: #{invalid.join(', ')}"
    end

    authorities
  else
    all_authorities
  end
end