metric_fu 4.11.3 → 4.11.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/.rubocop.yml +15 -0
  5. data/.rubocop_todo.yml +69 -0
  6. data/.travis.yml +0 -1
  7. data/CONTRIBUTORS +1 -1
  8. data/Gemfile +23 -20
  9. data/Guardfile +9 -9
  10. data/HISTORY.md +10 -1
  11. data/checksum/metric_fu-4.11.3.gem.sha512 +1 -0
  12. data/config/rubocop.yml +269 -0
  13. data/gem_tasks/rubocop.rake +10 -0
  14. data/lib/metric_fu.rb +11 -9
  15. data/lib/metric_fu/calculate.rb +0 -1
  16. data/lib/metric_fu/cli/client.rb +6 -6
  17. data/lib/metric_fu/cli/helper.rb +22 -13
  18. data/lib/metric_fu/cli/parser.rb +14 -18
  19. data/lib/metric_fu/configuration.rb +7 -11
  20. data/lib/metric_fu/constantize.rb +4 -4
  21. data/lib/metric_fu/data_structures/line_numbers.rb +10 -11
  22. data/lib/metric_fu/data_structures/location.rb +12 -14
  23. data/lib/metric_fu/data_structures/sexp_node.rb +31 -13
  24. data/lib/metric_fu/environment.rb +29 -31
  25. data/lib/metric_fu/formatter.rb +4 -6
  26. data/lib/metric_fu/formatter/html.rb +13 -13
  27. data/lib/metric_fu/formatter/syntax.rb +5 -7
  28. data/lib/metric_fu/formatter/yaml.rb +1 -1
  29. data/lib/metric_fu/gem_run.rb +13 -15
  30. data/lib/metric_fu/gem_version.rb +9 -11
  31. data/lib/metric_fu/generator.rb +5 -8
  32. data/lib/metric_fu/io.rb +13 -15
  33. data/lib/metric_fu/loader.rb +17 -18
  34. data/lib/metric_fu/logger.rb +15 -18
  35. data/lib/metric_fu/logging/mf_debugger.rb +4 -4
  36. data/lib/metric_fu/metric.rb +11 -12
  37. data/lib/metric_fu/metrics/cane/generator.rb +10 -9
  38. data/lib/metric_fu/metrics/cane/grapher.rb +5 -7
  39. data/lib/metric_fu/metrics/cane/metric.rb +6 -8
  40. data/lib/metric_fu/metrics/cane/report.html.erb +3 -3
  41. data/lib/metric_fu/metrics/cane/violations.rb +6 -6
  42. data/lib/metric_fu/metrics/churn/generator.rb +2 -6
  43. data/lib/metric_fu/metrics/churn/hotspot.rb +1 -3
  44. data/lib/metric_fu/metrics/churn/metric.rb +5 -7
  45. data/lib/metric_fu/metrics/flay/generator.rb +7 -11
  46. data/lib/metric_fu/metrics/flay/grapher.rb +5 -6
  47. data/lib/metric_fu/metrics/flay/hotspot.rb +5 -7
  48. data/lib/metric_fu/metrics/flay/metric.rb +5 -7
  49. data/lib/metric_fu/metrics/flog/generator.rb +22 -23
  50. data/lib/metric_fu/metrics/flog/grapher.rb +11 -11
  51. data/lib/metric_fu/metrics/flog/hotspot.rb +3 -5
  52. data/lib/metric_fu/metrics/flog/metric.rb +3 -5
  53. data/lib/metric_fu/metrics/hotspots/analysis/analyzed_problems.rb +0 -1
  54. data/lib/metric_fu/metrics/hotspots/analysis/analyzer_tables.rb +19 -18
  55. data/lib/metric_fu/metrics/hotspots/analysis/grouping.rb +0 -2
  56. data/lib/metric_fu/metrics/hotspots/analysis/groupings.rb +1 -3
  57. data/lib/metric_fu/metrics/hotspots/analysis/problems.rb +4 -6
  58. data/lib/metric_fu/metrics/hotspots/analysis/ranked_problem_location.rb +14 -9
  59. data/lib/metric_fu/metrics/hotspots/analysis/ranking.rb +4 -5
  60. data/lib/metric_fu/metrics/hotspots/analysis/rankings.rb +1 -3
  61. data/lib/metric_fu/metrics/hotspots/analysis/record.rb +3 -5
  62. data/lib/metric_fu/metrics/hotspots/analysis/scoring_strategies.rb +0 -2
  63. data/lib/metric_fu/metrics/hotspots/analysis/table.rb +3 -4
  64. data/lib/metric_fu/metrics/hotspots/generator.rb +3 -6
  65. data/lib/metric_fu/metrics/hotspots/hotspot.rb +13 -13
  66. data/lib/metric_fu/metrics/hotspots/hotspot_analyzer.rb +5 -8
  67. data/lib/metric_fu/metrics/hotspots/metric.rb +1 -3
  68. data/lib/metric_fu/metrics/hotspots/report.html.erb +1 -1
  69. data/lib/metric_fu/metrics/rails_best_practices/generator.rb +10 -12
  70. data/lib/metric_fu/metrics/rails_best_practices/grapher.rb +5 -6
  71. data/lib/metric_fu/metrics/rails_best_practices/metric.rb +1 -3
  72. data/lib/metric_fu/metrics/rcov/external_client.rb +1 -3
  73. data/lib/metric_fu/metrics/rcov/generator.rb +13 -15
  74. data/lib/metric_fu/metrics/rcov/grapher.rb +6 -7
  75. data/lib/metric_fu/metrics/rcov/hotspot.rb +5 -7
  76. data/lib/metric_fu/metrics/rcov/metric.rb +5 -7
  77. data/lib/metric_fu/metrics/rcov/rcov_format_coverage.rb +16 -55
  78. data/lib/metric_fu/metrics/rcov/rcov_line.rb +48 -0
  79. data/lib/metric_fu/metrics/rcov/report.html.erb +2 -2
  80. data/lib/metric_fu/metrics/rcov/simplecov_formatter.rb +10 -11
  81. data/lib/metric_fu/metrics/reek/generator.rb +22 -23
  82. data/lib/metric_fu/metrics/reek/grapher.rb +5 -6
  83. data/lib/metric_fu/metrics/reek/hotspot.rb +5 -7
  84. data/lib/metric_fu/metrics/reek/metric.rb +2 -4
  85. data/lib/metric_fu/metrics/roodi/generator.rb +9 -10
  86. data/lib/metric_fu/metrics/roodi/grapher.rb +5 -6
  87. data/lib/metric_fu/metrics/roodi/hotspot.rb +1 -3
  88. data/lib/metric_fu/metrics/roodi/metric.rb +2 -4
  89. data/lib/metric_fu/metrics/saikuro/generator.rb +23 -27
  90. data/lib/metric_fu/metrics/saikuro/hotspot.rb +1 -3
  91. data/lib/metric_fu/metrics/saikuro/metric.rb +7 -8
  92. data/lib/metric_fu/metrics/saikuro/parsing_element.rb +6 -8
  93. data/lib/metric_fu/metrics/saikuro/report.html.erb +1 -1
  94. data/lib/metric_fu/metrics/saikuro/scratch_file.rb +24 -29
  95. data/lib/metric_fu/metrics/stats/generator.rb +9 -12
  96. data/lib/metric_fu/metrics/stats/grapher.rb +8 -9
  97. data/lib/metric_fu/metrics/stats/hotspot.rb +1 -3
  98. data/lib/metric_fu/metrics/stats/metric.rb +3 -5
  99. data/lib/metric_fu/reporter.rb +1 -1
  100. data/lib/metric_fu/reporting/graphs/graph.rb +8 -12
  101. data/lib/metric_fu/reporting/graphs/grapher.rb +7 -9
  102. data/lib/metric_fu/reporting/result.rb +0 -3
  103. data/lib/metric_fu/run.rb +12 -3
  104. data/lib/metric_fu/tasks/metric_fu.rake +8 -8
  105. data/lib/metric_fu/templates/configuration.rb +2 -5
  106. data/lib/metric_fu/templates/metrics_template.rb +19 -19
  107. data/lib/metric_fu/templates/report.rb +5 -8
  108. data/lib/metric_fu/templates/template.rb +20 -24
  109. data/lib/metric_fu/utility.rb +7 -8
  110. data/lib/metric_fu/version.rb +1 -1
  111. data/metric_fu.gemspec +31 -32
  112. data/spec/cli/helper_spec.rb +7 -14
  113. data/spec/dummy/lib/bad_encoding.rb +1 -1
  114. data/spec/fixtures/coverage-153.rb +2 -2
  115. data/spec/fixtures/coverage.rb +2 -2
  116. data/spec/metric_fu/calculate_spec.rb +3 -3
  117. data/spec/metric_fu/configuration_spec.rb +70 -82
  118. data/spec/metric_fu/data_structures/line_numbers_spec.rb +3 -5
  119. data/spec/metric_fu/data_structures/location_spec.rb +13 -31
  120. data/spec/metric_fu/formatter/configuration_spec.rb +11 -13
  121. data/spec/metric_fu/formatter/html_spec.rb +21 -28
  122. data/spec/metric_fu/formatter/yaml_spec.rb +9 -17
  123. data/spec/metric_fu/formatter_spec.rb +6 -6
  124. data/spec/metric_fu/gem_version_spec.rb +3 -5
  125. data/spec/metric_fu/generator_spec.rb +28 -38
  126. data/spec/metric_fu/loader_spec.rb +1 -3
  127. data/spec/metric_fu/metric_spec.rb +17 -21
  128. data/spec/metric_fu/metrics/cane/configuration_spec.rb +8 -8
  129. data/spec/metric_fu/metrics/cane/generator_spec.rb +26 -29
  130. data/spec/metric_fu/metrics/churn/configuration_spec.rb +6 -8
  131. data/spec/metric_fu/metrics/churn/generator_spec.rb +6 -11
  132. data/spec/metric_fu/metrics/flay/configuration_spec.rb +6 -8
  133. data/spec/metric_fu/metrics/flay/generator_spec.rb +36 -37
  134. data/spec/metric_fu/metrics/flay/grapher_spec.rb +2 -2
  135. data/spec/metric_fu/metrics/flog/configuration_spec.rb +11 -13
  136. data/spec/metric_fu/metrics/flog/generator_spec.rb +29 -31
  137. data/spec/metric_fu/metrics/flog/grapher_spec.rb +8 -10
  138. data/spec/metric_fu/metrics/hotspots/analysis/analyzed_problems_spec.rb +18 -24
  139. data/spec/metric_fu/metrics/hotspots/analysis/analyzer_tables_spec.rb +12 -17
  140. data/spec/metric_fu/metrics/hotspots/analysis/ranking_spec.rb +2 -6
  141. data/spec/metric_fu/metrics/hotspots/analysis/rankings_spec.rb +5 -14
  142. data/spec/metric_fu/metrics/hotspots/analysis/table_spec.rb +1 -3
  143. data/spec/metric_fu/metrics/hotspots/generator_spec.rb +6 -8
  144. data/spec/metric_fu/metrics/hotspots/hotspot_analyzer_spec.rb +1 -3
  145. data/spec/metric_fu/metrics/hotspots/hotspot_spec.rb +4 -5
  146. data/spec/metric_fu/metrics/rails_best_practices/configuration_spec.rb +6 -10
  147. data/spec/metric_fu/metrics/rails_best_practices/generator_spec.rb +2 -3
  148. data/spec/metric_fu/metrics/rails_best_practices/grapher_spec.rb +3 -3
  149. data/spec/metric_fu/metrics/rcov/configuration_spec.rb +20 -22
  150. data/spec/metric_fu/metrics/rcov/generator_spec.rb +6 -10
  151. data/spec/metric_fu/metrics/rcov/grapher_spec.rb +2 -2
  152. data/spec/metric_fu/metrics/rcov/hotspot_spec.rb +8 -8
  153. data/spec/metric_fu/metrics/rcov/rcov_line_spec.rb +89 -0
  154. data/spec/metric_fu/metrics/rcov/simplecov_formatter_spec.rb +31 -33
  155. data/spec/metric_fu/metrics/reek/configuration_spec.rb +6 -6
  156. data/spec/metric_fu/metrics/reek/generator_spec.rb +19 -20
  157. data/spec/metric_fu/metrics/reek/grapher_spec.rb +4 -4
  158. data/spec/metric_fu/metrics/roodi/configuration_spec.rb +7 -9
  159. data/spec/metric_fu/metrics/roodi/generator_spec.rb +3 -3
  160. data/spec/metric_fu/metrics/roodi/grapher_spec.rb +2 -2
  161. data/spec/metric_fu/metrics/saikuro/configuration_spec.rb +18 -19
  162. data/spec/metric_fu/metrics/saikuro/generator_spec.rb +7 -7
  163. data/spec/metric_fu/metrics/stats/generator_spec.rb +9 -9
  164. data/spec/metric_fu/metrics/stats/grapher_spec.rb +2 -2
  165. data/spec/metric_fu/reporter_spec.rb +3 -4
  166. data/spec/metric_fu/reporting/graphs/graph_spec.rb +1 -4
  167. data/spec/metric_fu/reporting/graphs/grapher_spec.rb +5 -5
  168. data/spec/metric_fu/reporting/result_spec.rb +9 -11
  169. data/spec/metric_fu/run_spec.rb +18 -32
  170. data/spec/metric_fu/templates/configuration_spec.rb +28 -34
  171. data/spec/metric_fu/templates/metrics_template_spec.rb +11 -0
  172. data/spec/metric_fu/templates/report_spec.rb +4 -4
  173. data/spec/metric_fu/templates/template_spec.rb +62 -48
  174. data/spec/metric_fu/utility_spec.rb +2 -2
  175. data/spec/metric_fu_spec.rb +5 -7
  176. data/spec/shared/configured.rb +9 -11
  177. data/spec/shared/test_coverage.rb +5 -9
  178. data/spec/spec_helper.rb +9 -9
  179. data/spec/support/deferred_garbaged_collection.rb +1 -2
  180. data/spec/support/matcher_create_file.rb +2 -4
  181. data/spec/support/matcher_create_files.rb +2 -4
  182. data/spec/support/suite.rb +3 -3
  183. data/spec/support/test_fixtures.rb +5 -7
  184. data/spec/support/timeout.rb +1 -1
  185. data/spec/support/usage_test.rb +23 -24
  186. data/spec/usage_test_spec.rb +18 -20
  187. metadata +12 -2
  188. metadata.gz.sig +0 -0
@@ -1,13 +1,11 @@
1
- MetricFu.metrics_require { 'hotspots/hotspot_analyzer' }
1
+ MetricFu.metrics_require { "hotspots/hotspot_analyzer" }
2
2
  module MetricFu
3
-
4
3
  class HotspotsGenerator < Generator
5
-
6
4
  def self.metric
7
5
  :hotspots
8
6
  end
9
7
 
10
- def initialize(options={})
8
+ def initialize(options = {})
11
9
  MetricFu::Metric.enabled_metrics.each do |metric|
12
10
  require_hotspot(metric.name)
13
11
  end
@@ -24,7 +22,7 @@ module MetricFu
24
22
  end
25
23
 
26
24
  def to_h
27
- result = {:hotspots => {}}
25
+ result = { hotspots: {} }
28
26
  @hotspots.each do |granularity, hotspots|
29
27
  result[:hotspots][granularity.to_s] = hotspots.map(&:to_hash)
30
28
  end
@@ -39,5 +37,4 @@ module MetricFu
39
37
  mf_debug "*** No hotspot for #{metric_name}"
40
38
  end
41
39
  end
42
-
43
40
  end
@@ -1,10 +1,10 @@
1
- MetricFu.lib_require { 'errors/analysis_error' }
2
- MetricFu.metrics_require { 'hotspots/analysis/scoring_strategies' }
1
+ MetricFu.lib_require { "errors/analysis_error" }
2
+ MetricFu.metrics_require { "hotspots/analysis/scoring_strategies" }
3
3
 
4
4
  module MetricFu
5
5
  class Hotspot
6
6
  def self.metric
7
- self.name.split('::')[-1].split('Hotspot')[0].downcase.to_sym
7
+ name.split("::")[-1].split("Hotspot")[0].downcase.to_sym
8
8
  end
9
9
  @analyzers = {}
10
10
  def self.analyzers
@@ -31,8 +31,8 @@ module MetricFu
31
31
 
32
32
  def mapping_strategies
33
33
  {
34
- :present => 1,
35
- :absent => 0,
34
+ present: 1,
35
+ absent: 0,
36
36
  }
37
37
  end
38
38
 
@@ -42,9 +42,9 @@ module MetricFu
42
42
 
43
43
  def reduce(scores)
44
44
  {
45
- :average => MetricFu::HotspotScoringStrategies.average(scores),
46
- :sum => MetricFu::HotspotScoringStrategies.sum(scores),
47
- :absent => 0,
45
+ average: MetricFu::HotspotScoringStrategies.average(scores),
46
+ sum: MetricFu::HotspotScoringStrategies.sum(scores),
47
+ absent: 0,
48
48
  }.fetch(reduce_strategy) do
49
49
  fail "#{reduce_strategy} not a known reduce strategy"
50
50
  end
@@ -57,9 +57,9 @@ module MetricFu
57
57
  # @return [Integer]
58
58
  def score(metric_ranking, item)
59
59
  {
60
- :identity => MetricFu::HotspotScoringStrategies.identity(metric_ranking, item),
61
- :percentile => MetricFu::HotspotScoringStrategies.percentile(metric_ranking, item),
62
- :absent => 0,
60
+ identity: MetricFu::HotspotScoringStrategies.identity(metric_ranking, item),
61
+ percentile: MetricFu::HotspotScoringStrategies.percentile(metric_ranking, item),
62
+ absent: 0,
63
63
  }.fetch(score_strategy) { method(score_strategy).call(metric_ranking, item) }
64
64
  end
65
65
 
@@ -71,12 +71,12 @@ module MetricFu
71
71
  # 'metric', etc.
72
72
  # and appends the hash to the table param
73
73
  # Has no return value
74
- def generate_records(data, table)
74
+ def generate_records(_data, _table)
75
75
  not_implemented
76
76
  end
77
77
 
78
78
  # @return [String] description result
79
- def present_group(group)
79
+ def present_group(_group)
80
80
  not_implemented
81
81
  end
82
82
 
@@ -1,16 +1,15 @@
1
- require 'yaml'
1
+ require "yaml"
2
2
  MetricFu.metrics_require do
3
3
  [
4
- 'hotspots/hotspot',
5
- 'hotspots/analysis/analyzer_tables',
6
- 'hotspots/analysis/analyzed_problems',
7
- 'hotspots/analysis/rankings'
4
+ "hotspots/hotspot",
5
+ "hotspots/analysis/analyzer_tables",
6
+ "hotspots/analysis/analyzed_problems",
7
+ "hotspots/analysis/rankings"
8
8
  ]
9
9
  end
10
10
 
11
11
  module MetricFu
12
12
  class HotspotAnalyzer
13
-
14
13
  COMMON_COLUMNS = %w{metric}
15
14
  GRANULARITIES = %w{file_path class_name method_name}
16
15
 
@@ -58,7 +57,5 @@ module MetricFu
58
57
  # TODO does it not need to return something here?
59
58
  analyzed_problems
60
59
  end
61
-
62
-
63
60
  end
64
61
  end
@@ -1,13 +1,12 @@
1
1
  module MetricFu
2
2
  class MetricHotspots < Metric
3
-
4
3
  def name
5
4
  :hotspots
6
5
  end
7
6
 
8
7
  # TODO remove explicit Churn dependency
9
8
  def default_run_options
10
- { :start_date => "1 year ago", :minimum_churn_count => 10}
9
+ { start_date: "1 year ago", minimum_churn_count: 10 }
11
10
  end
12
11
 
13
12
  def has_graph?
@@ -17,6 +16,5 @@ module MetricFu
17
16
  def enable
18
17
  super
19
18
  end
20
-
21
19
  end
22
20
  end
@@ -36,7 +36,7 @@
36
36
  </b>
37
37
  <% unless per_file_data[file].empty? %>
38
38
  <small>&laquo;
39
- <b><a href="<%= file.gsub(%r{/}, '_') %>.html<%= (line.nil? ? '' : "#line#{line}") %>">annotate</a></b>
39
+ <b><a href="<%= html_filename(file) %><%= (line.nil? ? '' : "#line#{line}") %>">annotate</a></b>
40
40
  &raquo;</small>
41
41
  <% end %>
42
42
  <br/><br/>
@@ -1,14 +1,13 @@
1
1
  module MetricFu
2
2
  class RailsBestPracticesGenerator < Generator
3
-
4
3
  def self.metric
5
4
  :rails_best_practices
6
5
  end
7
6
 
8
7
  def emit
9
8
  mf_debug "** Rails Best Practices"
10
- path = '.'
11
- analyzer = ::RailsBestPractices::Analyzer.new(path, { 'silent' => true })
9
+ path = "."
10
+ analyzer = ::RailsBestPractices::Analyzer.new(path, "silent" => true)
12
11
  analyzer.analyze
13
12
  @output = analyzer.errors
14
13
  end
@@ -16,28 +15,27 @@ module MetricFu
16
15
  def analyze
17
16
  @problems = @output.collect do |problem|
18
17
  {
19
- :file => problem.filename,
20
- :line => problem.line_number,
21
- :problem => problem.message,
22
- :url => problem.url
18
+ file: problem.filename,
19
+ line: problem.line_number,
20
+ problem: problem.message,
21
+ url: problem.url
23
22
  }
24
23
  end
25
24
  total = ["Found #{@problems.count} errors."]
26
- @rails_best_practices_results = {:total => total, :problems => @problems}
25
+ @rails_best_practices_results = { total: total, problems: @problems }
27
26
  end
28
27
 
29
28
  def to_h
30
- {:rails_best_practices => @rails_best_practices_results}
29
+ { rails_best_practices: @rails_best_practices_results }
31
30
  end
32
31
 
33
32
  def per_file_info(out)
34
33
  @rails_best_practices_results[:problems].each do |problem|
35
- next if problem[:file] == '' || problem[:problem].nil?
36
-
34
+ next if problem[:file] == "" || problem[:problem].nil?
37
35
 
38
36
  lines = problem[:line].split(/\s*,\s*/)
39
37
  lines.each do |line|
40
- out[problem[:file]][line] << {:type => :rails_best_practices, :description => problem[:problem]}
38
+ out[problem[:file]][line] << { type: :rails_best_practices, description: problem[:problem] }
41
39
  end
42
40
  end
43
41
  end
@@ -1,4 +1,4 @@
1
- MetricFu.reporting_require { 'graphs/grapher' }
1
+ MetricFu.reporting_require { "graphs/grapher" }
2
2
  module MetricFu
3
3
  class RailsBestPracticesGrapher < Grapher
4
4
  attr_accessor :rails_best_practices_count, :labels
@@ -17,23 +17,22 @@ module MetricFu
17
17
  if metrics && metrics[:rails_best_practices]
18
18
  size = (metrics[:rails_best_practices][:problems] || []).size
19
19
  @rails_best_practices_count.push(size)
20
- @labels.update( { @labels.size => date })
20
+ @labels.update(@labels.size => date)
21
21
  end
22
22
  end
23
23
 
24
24
  def title
25
- 'Rails Best Practices: design problems'
25
+ "Rails Best Practices: design problems"
26
26
  end
27
27
 
28
28
  def data
29
29
  [
30
- ['rails_best_practices', @rails_best_practices_count.join(',')]
30
+ ["rails_best_practices", @rails_best_practices_count.join(",")]
31
31
  ]
32
32
  end
33
33
 
34
34
  def output_filename
35
- 'rails_best_practices.js'
35
+ "rails_best_practices.js"
36
36
  end
37
-
38
37
  end
39
38
  end
@@ -1,6 +1,5 @@
1
1
  module MetricFu
2
2
  class MetricRailsBestPractices < Metric
3
-
4
3
  def name
5
4
  :rails_best_practices
6
5
  end
@@ -22,9 +21,8 @@ module MetricFu
22
21
  end
23
22
 
24
23
  def activate
25
- activate_library('rails_best_practices')
24
+ activate_library("rails_best_practices")
26
25
  super
27
26
  end
28
-
29
27
  end
30
28
  end
@@ -1,7 +1,6 @@
1
1
  # Reads and writes external coverage files as BINARY
2
2
  module MetricFu
3
3
  class RCovTestCoverageClient
4
-
5
4
  def initialize(coverage_file)
6
5
  @file_path = Pathname(coverage_file)
7
6
  @file_path.dirname.mkpath
@@ -17,8 +16,7 @@ module MetricFu
17
16
  end
18
17
 
19
18
  def dump(payload)
20
- File.open(@file_path, 'wb') {|file| file.write(payload) }
19
+ File.open(@file_path, "wb") { |file| file.write(payload) }
21
20
  end
22
-
23
21
  end
24
22
  end
@@ -1,13 +1,12 @@
1
- MetricFu.lib_require { 'utility' }
2
- MetricFu.lib_require { 'calculate' }
3
- MetricFu.data_structures_require { 'line_numbers' }
4
- require_relative 'rcov_format_coverage'
5
- require_relative 'external_client'
1
+ MetricFu.lib_require { "utility" }
2
+ MetricFu.lib_require { "calculate" }
3
+ MetricFu.data_structures_require { "line_numbers" }
4
+ require_relative "rcov_format_coverage"
5
+ require_relative "rcov_line"
6
+ require_relative "external_client"
6
7
 
7
8
  module MetricFu
8
-
9
9
  class RcovGenerator < MetricFu::Generator
10
-
11
10
  def self.metric
12
11
  :rcov
13
12
  end
@@ -29,16 +28,16 @@ module MetricFu
29
28
  end
30
29
 
31
30
  def reset_output_location
32
- MetricFu::Utility.rm_rf(metric_directory, :verbose => false)
31
+ MetricFu::Utility.rm_rf(metric_directory, verbose: false)
33
32
  MetricFu::Utility.mkdir_p(metric_directory)
34
33
  end
35
34
 
36
35
  def default_command
37
- require 'rake'
36
+ require "rake"
38
37
  reset_output_location
39
- test_files = FileList[*options[:test_files]].join(' ')
40
- rcov_opts = options[:rcov_opts].join(' ')
41
- %Q(RAILS_ENV=#{options[:environment]} rcov #{test_files} #{rcov_opts} >> #{default_output_file})
38
+ test_files = FileList[*options[:test_files]].join(" ")
39
+ rcov_opts = options[:rcov_opts].join(" ")
40
+ %(RAILS_ENV=#{options[:environment]} rcov #{test_files} #{rcov_opts} >> #{default_output_file})
42
41
  end
43
42
 
44
43
  def analyze
@@ -49,7 +48,7 @@ module MetricFu
49
48
 
50
49
  def to_h
51
50
  {
52
- :rcov => @rcov
51
+ rcov: @rcov
53
52
  }
54
53
  end
55
54
 
@@ -70,8 +69,7 @@ module MetricFu
70
69
 
71
70
  # Only used if run_rcov? is true
72
71
  def default_output_file
73
- output_file || File.join(metric_directory, 'rcov.txt')
72
+ output_file || File.join(metric_directory, "rcov.txt")
74
73
  end
75
-
76
74
  end
77
75
  end
@@ -1,4 +1,4 @@
1
- MetricFu.reporting_require { 'graphs/grapher' }
1
+ MetricFu.reporting_require { "graphs/grapher" }
2
2
  module MetricFu
3
3
  class RcovGrapher < Grapher
4
4
  attr_accessor :rcov_percent, :labels
@@ -15,24 +15,23 @@ module MetricFu
15
15
 
16
16
  def get_metrics(metrics, date)
17
17
  if metrics && metrics[:rcov]
18
- self.rcov_percent.push(metrics[:rcov][:global_percent_run])
19
- self.labels.update( { self.labels.size => date })
18
+ rcov_percent.push(metrics[:rcov][:global_percent_run])
19
+ labels.update(labels.size => date)
20
20
  end
21
21
  end
22
22
 
23
23
  def title
24
- 'Rcov: code coverage'
24
+ "Rcov: code coverage"
25
25
  end
26
26
 
27
27
  def data
28
28
  [
29
- ['rcov', @rcov_percent.join(',')]
29
+ ["rcov", @rcov_percent.join(",")]
30
30
  ]
31
31
  end
32
32
 
33
33
  def output_filename
34
- 'rcov.js'
34
+ "rcov.js"
35
35
  end
36
-
37
36
  end
38
37
  end
@@ -1,5 +1,4 @@
1
1
  class MetricFu::RcovHotspot < MetricFu::Hotspot
2
-
3
2
  COLUMNS = %w{percentage_uncovered}
4
3
 
5
4
  def columns
@@ -23,18 +22,18 @@ class MetricFu::RcovHotspot < MetricFu::Hotspot
23
22
  end
24
23
 
25
24
  def generate_records(data, table)
26
- return if data==nil
25
+ return if data == nil
27
26
  data.each do |file_name, info|
28
27
  next if (file_name == :global_percent_run) || (info[:methods].nil?)
29
28
  info[:methods].each do |method_name, percentage_uncovered|
30
29
  location = MetricFu::Location.for(method_name)
31
30
  table << {
32
31
  "metric" => :rcov,
33
- 'file_path' => file_name,
34
- 'class_name' => location.class_name,
32
+ "file_path" => file_name,
33
+ "class_name" => location.class_name,
35
34
  "method_name" => location.method_name,
36
35
  "percentage_uncovered" => percentage_uncovered
37
- }
36
+ }
38
37
  end
39
38
  end
40
39
  end
@@ -42,7 +41,6 @@ class MetricFu::RcovHotspot < MetricFu::Hotspot
42
41
  def present_group(group)
43
42
  occurences = group.size
44
43
  average_code_uncoverage = get_mean(group.column("percentage_uncovered"))
45
- "#{"average " if occurences > 1}uncovered code is %.1f%" % average_code_uncoverage
44
+ "#{'average ' if occurences > 1}uncovered code is %.1f%" % average_code_uncoverage
46
45
  end
47
-
48
46
  end
@@ -1,21 +1,20 @@
1
1
  module MetricFu
2
2
  class MetricRcov < Metric
3
-
4
3
  def name
5
4
  :rcov
6
5
  end
7
6
 
8
7
  def default_run_options
9
8
  {
10
- :environment => 'test',
11
- :test_files => Dir['{spec,test}/**/*_{spec,test}.rb'],
12
- :rcov_opts => rcov_opts,
13
- :external => nil,
9
+ environment: "test",
10
+ test_files: Dir["{spec,test}/**/*_{spec,test}.rb"],
11
+ rcov_opts: rcov_opts,
12
+ external: nil,
14
13
  }
15
14
  end
16
15
 
17
16
  def coverage_file=(coverage_file)
18
- configured_run_options.update(:external => coverage_file)
17
+ configured_run_options.update(external: coverage_file)
19
18
  end
20
19
 
21
20
  def has_graph?
@@ -58,6 +57,5 @@ module MetricFu
58
57
  rcov_opts << "-Ispec" if File.exist?("spec")
59
58
  rcov_opts
60
59
  end
61
-
62
60
  end
63
61
  end