Sha256: e88772746786373233a9628d96cc99519444ca031ecddfffa2627e3f2ebcce36
Contents?: true
Size: 1.26 KB
Versions: 3
Compression:
Stored size: 1.26 KB
Contents
module MetricFu class ChurnGenerator < Generator def self.metric :churn end def emit @output = generate_churn_metrics end def analyze if @output.nil? || @output.match(/Churning requires.*git/) @churn = {:churn => {}} else @churn = YAML::load(@output) end end # ensure hash only has the :churn key def to_h {:churn => @churn[:churn]} end private def generate_churn_metrics output = churn_code ensure_output_is_valid_yaml(output) end def churn_code run!(build_churn_options) end def ensure_output_is_valid_yaml(output) yaml_start = output.index("---") if yaml_start output[yaml_start...output.length] else nil end end def build_churn_options opts = ["--yaml"] churn_options.each do |churn_option, command_flag| if has_option?(churn_option) opts << "#{command_flag}=#{options[churn_option]}" end end opts.join(" ") end def has_option?(churn_option) options.include?(churn_option) end def churn_options { :minimum_churn_count => '--minimum_churn_count', :start_date => '--start_date' } end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
metric_fu-4.6.0 | lib/metric_fu/metrics/churn/churn.rb |
metric_fu-4.5.2 | lib/metric_fu/metrics/churn/churn.rb |
metric_fu-4.5.1 | lib/metric_fu/metrics/churn/churn.rb |