From 43bfc9e3d0d6f8080750a0713c062d30a53f6d7a Mon Sep 17 00:00:00 2001 From: Devon Blandin Date: Tue, 10 Nov 2015 17:52:07 -0500 Subject: [PATCH] Change directory with a block while running the reporter --- lib/cc/engine/duplication.rb | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/cc/engine/duplication.rb b/lib/cc/engine/duplication.rb index 4951b216..fcc339b5 100644 --- a/lib/cc/engine/duplication.rb +++ b/lib/cc/engine/duplication.rb @@ -22,22 +22,24 @@ class Duplication }.freeze def initialize(directory:, engine_config:, io:) - Dir.chdir(directory) + @directory = directory @engine_config = CC::Engine::Analyzers::EngineConfig.new(engine_config || {}) @io = io end def run - languages_to_analyze.each do |language| - engine = LANGUAGES[language].new(engine_config: engine_config) - reporter = CC::Engine::Analyzers::Reporter.new(engine_config, engine, io) - reporter.run + Dir.chdir(directory) do + languages_to_analyze.each do |language| + engine = LANGUAGES[language].new(engine_config: engine_config) + reporter = CC::Engine::Analyzers::Reporter.new(engine_config, engine, io) + reporter.run + end end end private - attr_reader :engine_config, :io + attr_reader :directory, :engine_config, :io def languages_to_analyze languages.select do |language|