Class: Ace::Hitl::Molecules::HitlConfigLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/ace/hitl/molecules/hitl_config_loader.rb

Constant Summary collapse

DEFAULT_ROOT_DIR =
".ace-local/hitl"
DEFAULT_KIND =
"clarification"

Class Method Summary collapse

Class Method Details

.load(gem_root: nil) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/ace/hitl/molecules/hitl_config_loader.rb', line 14

def self.load(gem_root: nil)
  gem_root ||= File.expand_path("../../../..", __dir__)
  resolver = Ace::Support::Config.create(
    config_dir: ".ace",
    defaults_dir: ".ace-defaults",
    gem_path: gem_root
  )
  {"hitl" => resolver.resolve_namespace("hitl").data}
rescue StandardError => e
  warn "ace-hitl: Could not load config: #{e.class} - #{e.message}" if Ace::Hitl.respond_to?(:debug?) && Ace::Hitl.debug?
  load_defaults_fallback(gem_root: gem_root)
end

.root_dir(config = nil) ⇒ Object



27
28
29
30
31
32
33
34
35
36
# File 'lib/ace/hitl/molecules/hitl_config_loader.rb', line 27

def self.root_dir(config = nil)
  config ||= load
  dir = config.dig("hitl", "root_dir") || DEFAULT_ROOT_DIR

  if dir.start_with?("/")
    dir
  else
    File.join(Ace::Support::Fs::Molecules::ProjectRootFinder.find_or_current, dir)
  end
end