diff --git a/lib/cc/engine/analyzers/engine_config.rb b/lib/cc/engine/analyzers/engine_config.rb index 74834acc..e0d062d1 100644 --- a/lib/cc/engine/analyzers/engine_config.rb +++ b/lib/cc/engine/analyzers/engine_config.rb @@ -30,10 +30,6 @@ def mass_threshold_for(language) end end - private - - attr_reader :config - def fetch_language(language) language = config. fetch("languages", {}). @@ -46,6 +42,10 @@ def fetch_language(language) end end + private + + attr_reader :config + def normalize(hash) hash.tap do |config| languages = config.fetch("config", {}).fetch("languages", {}) diff --git a/lib/cc/engine/analyzers/python/main.rb b/lib/cc/engine/analyzers/python/main.rb index e1d408fa..ca5a5ca9 100644 --- a/lib/cc/engine/analyzers/python/main.rb +++ b/lib/cc/engine/analyzers/python/main.rb @@ -27,7 +27,7 @@ def parser(path) end def python_version - engine_config.languages.fetch("python", {}).fetch("python_version", DEFAULT_PYTHON_VERSION) + engine_config.fetch_language(LANGUAGE).fetch("python_version", DEFAULT_PYTHON_VERSION) end end end diff --git a/spec/cc/engine/analyzers/python/main_spec.rb b/spec/cc/engine/analyzers/python/main_spec.rb index d62e2c01..89b03a2e 100644 --- a/spec/cc/engine/analyzers/python/main_spec.rb +++ b/spec/cc/engine/analyzers/python/main_spec.rb @@ -117,6 +117,23 @@ def c(thing: str): end end + it "handles an empty yml key in config" do + create_source_file("foo.py", <<-EOPY) +def a(thing): + print("Hello", thing) + EOPY + + conf = CC::Engine::Analyzers::EngineConfig.new({ + "config" => { + "languages" => { + "python" => "" + } + } + }) + + expect(run_engine(engine_conf)).to eq("") + end + def engine_conf CC::Engine::Analyzers::EngineConfig.new({ "config" => {