diff --git a/lib/base/configuration.rb b/lib/base/configuration.rb index 71f7d27b2..2a1ff3a75 100644 --- a/lib/base/configuration.rb +++ b/lib/base/configuration.rb @@ -115,7 +115,8 @@ def reset @flog = { :dirs_to_flog => @code_dirs } @reek = { :dirs_to_reek => @code_dirs, :config_file_pattern => nil} - @roodi = { :dirs_to_roodi => @code_dirs } + @roodi = { :dirs_to_roodi => @code_dirs, + :roodi_config => nil} @saikuro = { :output_directory => @scratch_directory + '/saikuro', :input_directory => @code_dirs, :cyclo => "", diff --git a/lib/generators/roodi.rb b/lib/generators/roodi.rb index eb09a3476..a42c437f4 100644 --- a/lib/generators/roodi.rb +++ b/lib/generators/roodi.rb @@ -6,7 +6,6 @@ def self.verify_dependencies! raise 'sudo gem install roodi # if you want the roodi tasks' unless $?.success? end - def emit files_to_analyze = MetricFu.roodi[:dirs_to_roodi].map{|dir| Dir[File.join(dir, "**/*.rb")] } files = remove_excluded_files(files_to_analyze.flatten) diff --git a/spec/base/configuration_spec.rb b/spec/base/configuration_spec.rb index 2c78552c1..c2497e37b 100644 --- a/spec/base/configuration_spec.rb +++ b/spec/base/configuration_spec.rb @@ -102,7 +102,7 @@ def metric_fu_root it 'should set @roodi to {:dirs_to_roodi => @code_dirs}' do @config.instance_variable_get(:@roodi). - should == {:dirs_to_roodi => ['lib']} + should == {:roodi_config=>nil, :dirs_to_roodi => ['lib']} end it 'should set @churn to {}' do diff --git a/spec/generators/roodi_spec.rb b/spec/generators/roodi_spec.rb new file mode 100644 index 000000000..692e7b90e --- /dev/null +++ b/spec/generators/roodi_spec.rb @@ -0,0 +1,26 @@ +require File.expand_path(File.dirname(__FILE__) + "/../spec_helper") + +describe Roodi do + describe "emit" do + it "should add config options when present" do + MetricFu::Roodi.stub!(:verify_dependencies!).and_return(true) + MetricFu::Configuration.run do |config| + config.roodi = {:roodi_config => 'lib/config/roodi_config.yml', :dirs_to_roodi => []} + end + roodi = MetricFu::Roodi.new + roodi.should_receive(:`).with(/-config=lib\/config\/roodi_config\.yml/).and_return("") + roodi.emit + end + + it "should NOT add config options when NOT present" do + MetricFu::Roodi.stub!(:verify_dependencies!).and_return(true) + MetricFu::Configuration.run do |config| + config.roodi = {:dirs_to_roodi => []} + end + roodi = MetricFu::Roodi.new + roodi.stub(:`) + roodi.should_receive(:`).with(/-config/).never + roodi.emit + end + end +end \ No newline at end of file