Sha256: e74878ed84cd110522ea022d9ab2879b631683f59e828f41c82eca757d150b10

Contents?: true

Size: 1.21 KB

Versions: 24

Compression:

Stored size: 1.21 KB

Contents

require 'fileutils'

namespace :metrics do

  desc "A cyclomatic complexity report using Saikuro"
  task :saikuro do
    SAIKURO_DIR = File.join(MetricFu::BASE_DIRECTORY, 'saikuro')
    SAIKURO = File.expand_path(File.join(File.dirname(__FILE__), '..', 'metric_fu', 'saikuro', 'saikuro.rb'))

    raise "SAIKURO_OPTIONS is now MetricFu::SAIKURO_OPTIONS" if defined?(SAIKURO_OPTIONS)
    options = { :output_directory => SAIKURO_DIR,
                        :input_directory => MetricFu::CODE_DIRS,
                        :cyclo => "",
                        :filter_cyclo => "0",
                        :warn_cyclo => "5",
                        :error_cyclo => "7"}

    options.merge!(MetricFu::SAIKURO_OPTIONS) if defined?(MetricFu::SAIKURO_OPTIONS)
    options_string = options.inject(""){ |o, h| o + "--#{h.join(' ')} " }

    sh %{ruby "#{SAIKURO}" #{options_string}} do |ok, response|
      unless ok
        puts "Saikuro failed with exit status: #{response.exitstatus}"
        exit 1
      end
    end

    if File.exist? "#{SAIKURO_DIR}/index_cyclo.html"
      mv "#{SAIKURO_DIR}/index_cyclo.html",
         "#{SAIKURO_DIR}/index.html"
    end

    system("open #{SAIKURO_DIR}/index.html") if MetricFu.open_in_browser?
  end
end

Version data entries

24 entries across 24 versions & 5 rubygems

Version Path
indirect-metric_fu-0.9.0 lib/tasks/saikuro.rake
jscruggs-metric_fu-0.8.9 lib/tasks/saikuro.rake
jscruggs-metric_fu-0.9.0 lib/tasks/saikuro.rake
leh-metric_fu-0.9.2 lib/tasks/saikuro.rake
nielsm-metric_fu-0.9.0 lib/tasks/saikuro.rake
nielsm-metric_fu-0.9.1 lib/tasks/saikuro.rake
p8-metric_fu-0.8.0.16 lib/tasks/saikuro.rake
p8-metric_fu-0.8.4.10 lib/tasks/saikuro.rake
p8-metric_fu-0.8.4.11 lib/tasks/saikuro.rake
p8-metric_fu-0.8.4.12 lib/tasks/saikuro.rake
p8-metric_fu-0.8.4.13 lib/tasks/saikuro.rake
p8-metric_fu-0.8.4.14 lib/tasks/saikuro.rake
p8-metric_fu-0.8.4.15 lib/tasks/saikuro.rake
p8-metric_fu-0.8.4.16 lib/tasks/saikuro.rake
p8-metric_fu-0.8.4.4 lib/tasks/saikuro.rake
p8-metric_fu-0.8.4.5 lib/tasks/saikuro.rake
p8-metric_fu-0.8.4.6 lib/tasks/saikuro.rake
p8-metric_fu-0.8.4.7 lib/tasks/saikuro.rake
p8-metric_fu-0.8.4.8 lib/tasks/saikuro.rake
p8-metric_fu-0.8.4.9 lib/tasks/saikuro.rake