Module: Diffend::Config::Fetcher

Defined in:
lib/diffend/config/fetcher.rb

Overview

Class responsible for fetching the config from .diffend.yml

Constant Summary collapse

MISSING_KEY_ERRORS =

All the errors for missing keys in the configuration file

[
  Errors::ProjectIdMissingInConfigurationFile,
  Errors::ShareableIdMissingInConfigurationFile,
  Errors::ShareableKeyMissingInConfigurationFile,
  Errors::BuildPathMissingInConfigurationFile
].freeze

Class Method Summary collapse

Class Method Details

.call(build_path) ⇒ OpenStruct

Returns open struct with config details.

Examples:

details = Fetcher.new.call('./')
details.build_path #=> './'

Parameters:

  • build_path (String) —

    path of the current build

Returns:

  • (OpenStruct) —

    open struct with config details



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/diffend/config/fetcher.rb', line 26

def call(build_path)
  build(build_path)
rescue Errors::MissingConfigurationFile
  Bundler.ui.error(build_missing_error_message(build_path))
  exit 1
rescue Errors::EmptyConfigurationFile
  Bundler.ui.error(build_empty_error_message(build_path))
  exit 1
rescue Errors::MalformedConfigurationFile
  Bundler.ui.error(build_malformed_error_message(build_path))
  exit 1
rescue *MISSING_KEY_ERRORS => e
  Bundler.ui.error(build_missing_key_error_message(e))
  exit 1
end