class Deadpull::Builders::Configuration

Constants

HOME_PATH

Public Instance Methods

inline_config(input, inline_config) click to toggle source
# File lib/deadpull/builders/configuration.rb, line 26
def inline_config(input, inline_config)
  Success(input.deep_merge(inline_config))
end
local_config(input) click to toggle source
# File lib/deadpull/builders/configuration.rb, line 22
def local_config(input)
  transactionally_merge_input_with_file(input, current_working_path.join('.deadpull.local.yml'))
end
working_directory_config(input) click to toggle source
# File lib/deadpull/builders/configuration.rb, line 18
def working_directory_config(input)
  transactionally_merge_input_with_file(input, current_working_path.join('.deadpull.yml'))
end

Private Instance Methods

current_working_path() click to toggle source
# File lib/deadpull/builders/configuration.rb, line 32
def current_working_path
  @current_working_path ||= Pathname.new(Dir.pwd).freeze
end
transactionally_merge_input_with_file(input, file) click to toggle source
# File lib/deadpull/builders/configuration.rb, line 36
def transactionally_merge_input_with_file(input, file)
  output = if File.exist?(file)
             YAML.load_file(file).deep_symbolize_keys
           else
             {}
           end
  Success(input.deep_merge(output))
rescue Psych::SyntaxError => error
  Failure(error)
end