metric_fu 4.10.0 → 4.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. checksums.yaml +8 -8
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +2 -2
  4. data/.simplecov +42 -0
  5. data/.travis.yml +7 -6
  6. data/CONTRIBUTING.md +1 -1
  7. data/DEV.md +4 -3
  8. data/Gemfile +29 -7
  9. data/HISTORY.md +29 -3
  10. data/README.md +6 -1
  11. data/Rakefile +33 -11
  12. data/checksum/metric_fu-4.10.0.gem.sha512 +1 -1
  13. data/gem_tasks/usage_test.rake +0 -11
  14. data/lib/metric_fu.rb +12 -0
  15. data/lib/metric_fu/configuration.rb +1 -5
  16. data/lib/metric_fu/environment.rb +3 -3
  17. data/lib/metric_fu/formatter.rb +1 -1
  18. data/lib/metric_fu/formatter/html.rb +9 -9
  19. data/lib/metric_fu/gem_run.rb +2 -2
  20. data/lib/metric_fu/{metrics/generator.rb → generator.rb} +0 -0
  21. data/lib/metric_fu/loader.rb +30 -23
  22. data/lib/metric_fu/logger.rb +65 -0
  23. data/lib/metric_fu/logging/mf_debugger.rb +13 -48
  24. data/lib/metric_fu/metric.rb +3 -3
  25. data/lib/metric_fu/metrics/cane/{cane.rb → generator.rb} +0 -0
  26. data/lib/metric_fu/metrics/cane/{cane_grapher.rb → grapher.rb} +0 -0
  27. data/lib/metric_fu/metrics/cane/{init.rb → metric.rb} +1 -1
  28. data/lib/metric_fu/metrics/cane/{template_awesome/cane.html.erb → report.html.erb} +0 -0
  29. data/lib/metric_fu/metrics/churn/{churn.rb → generator.rb} +0 -0
  30. data/lib/metric_fu/metrics/churn/{churn_hotspot.rb → hotspot.rb} +0 -0
  31. data/lib/metric_fu/metrics/churn/{init.rb → metric.rb} +0 -0
  32. data/lib/metric_fu/metrics/churn/{template_awesome/churn.html.erb → report.html.erb} +0 -0
  33. data/lib/metric_fu/metrics/flay/{flay.rb → generator.rb} +16 -2
  34. data/lib/metric_fu/metrics/flay/{flay_grapher.rb → grapher.rb} +0 -0
  35. data/lib/metric_fu/metrics/flay/{flay_hotspot.rb → hotspot.rb} +0 -0
  36. data/lib/metric_fu/metrics/flay/{init.rb → metric.rb} +1 -1
  37. data/lib/metric_fu/metrics/flay/{template_awesome/flay.html.erb → report.html.erb} +0 -0
  38. data/lib/metric_fu/metrics/flog/{flog.rb → generator.rb} +0 -0
  39. data/lib/metric_fu/metrics/flog/{flog_grapher.rb → grapher.rb} +0 -0
  40. data/lib/metric_fu/metrics/flog/{flog_hotspot.rb → hotspot.rb} +0 -0
  41. data/lib/metric_fu/metrics/flog/{init.rb → metric.rb} +1 -1
  42. data/lib/metric_fu/metrics/flog/{template_awesome/flog.html.erb → report.html.erb} +0 -0
  43. data/lib/metric_fu/metrics/hotspots/{hotspots.rb → generator.rb} +1 -1
  44. data/lib/metric_fu/metrics/hotspots/{init.rb → metric.rb} +0 -0
  45. data/lib/metric_fu/metrics/hotspots/{template_awesome/hotspots.html.erb → report.html.erb} +0 -0
  46. data/lib/metric_fu/metrics/rails_best_practices/{rails_best_practices.rb → generator.rb} +0 -0
  47. data/lib/metric_fu/metrics/rails_best_practices/{rails_best_practices_grapher.rb → grapher.rb} +0 -0
  48. data/lib/metric_fu/metrics/rails_best_practices/{init.rb → metric.rb} +1 -1
  49. data/lib/metric_fu/metrics/rails_best_practices/{template_awesome/rails_best_practices.html.erb → report.html.erb} +0 -0
  50. data/lib/metric_fu/metrics/rcov/{rcov.rb → generator.rb} +0 -0
  51. data/lib/metric_fu/metrics/rcov/{rcov_grapher.rb → grapher.rb} +0 -0
  52. data/lib/metric_fu/metrics/rcov/{rcov_hotspot.rb → hotspot.rb} +0 -0
  53. data/lib/metric_fu/metrics/rcov/{init.rb → metric.rb} +0 -0
  54. data/lib/metric_fu/metrics/rcov/rcov_format_coverage.rb +57 -9
  55. data/lib/metric_fu/metrics/rcov/{template_awesome/rcov.html.erb → report.html.erb} +0 -0
  56. data/lib/metric_fu/metrics/rcov/simplecov_formatter.rb +13 -2
  57. data/lib/metric_fu/metrics/reek/{reek.rb → generator.rb} +0 -0
  58. data/lib/metric_fu/metrics/reek/{reek_grapher.rb → grapher.rb} +0 -0
  59. data/lib/metric_fu/metrics/reek/{reek_hotspot.rb → hotspot.rb} +1 -1
  60. data/lib/metric_fu/metrics/reek/{init.rb → metric.rb} +0 -0
  61. data/lib/metric_fu/metrics/reek/{template_awesome/reek.html.erb → report.html.erb} +0 -0
  62. data/lib/metric_fu/metrics/roodi/{roodi.rb → generator.rb} +0 -0
  63. data/lib/metric_fu/metrics/roodi/{roodi_grapher.rb → grapher.rb} +0 -0
  64. data/lib/metric_fu/metrics/roodi/{roodi_hotspot.rb → hotspot.rb} +0 -0
  65. data/lib/metric_fu/metrics/roodi/{init.rb → metric.rb} +0 -0
  66. data/lib/metric_fu/metrics/roodi/{template_awesome/roodi.html.erb → report.html.erb} +0 -0
  67. data/lib/metric_fu/metrics/saikuro/{saikuro.rb → generator.rb} +0 -0
  68. data/lib/metric_fu/metrics/saikuro/{saikuro_hotspot.rb → hotspot.rb} +0 -0
  69. data/lib/metric_fu/metrics/saikuro/{init.rb → metric.rb} +0 -0
  70. data/lib/metric_fu/metrics/saikuro/{template_awesome/saikuro.html.erb → report.html.erb} +0 -0
  71. data/lib/metric_fu/metrics/stats/{stats.rb → generator.rb} +1 -1
  72. data/lib/metric_fu/metrics/stats/{stats_grapher.rb → grapher.rb} +0 -0
  73. data/lib/metric_fu/metrics/stats/{stats_hotspot.rb → hotspot.rb} +0 -0
  74. data/lib/metric_fu/metrics/stats/{init.rb → metric.rb} +0 -0
  75. data/lib/metric_fu/metrics/stats/{template_awesome/stats.html.erb → report.html.erb} +0 -0
  76. data/lib/metric_fu/{metrics → reporting/graphs}/graph.rb +0 -0
  77. data/lib/metric_fu/{reporting/templates/awesome → templates}/_graph.html.erb +0 -0
  78. data/lib/metric_fu/{reporting/templates/awesome → templates}/_report_footer.html.erb +0 -0
  79. data/lib/metric_fu/templates/configuration.rb +3 -2
  80. data/lib/metric_fu/{reporting/templates/awesome → templates}/index.html.erb +1 -1
  81. data/lib/metric_fu/{reporting/templates → templates}/javascripts/bluff-min.js +0 -0
  82. data/lib/metric_fu/{reporting/templates → templates}/javascripts/bluff_graph.js +0 -0
  83. data/lib/metric_fu/{reporting/templates → templates}/javascripts/excanvas.js +0 -0
  84. data/lib/metric_fu/{reporting/templates → templates}/javascripts/highcharts.js +0 -0
  85. data/lib/metric_fu/{reporting/templates → templates}/javascripts/highcharts_graph.js +0 -0
  86. data/lib/metric_fu/{reporting/templates → templates}/javascripts/js-class.js +0 -0
  87. data/lib/metric_fu/{reporting/templates → templates}/javascripts/standalone-framework.js +0 -0
  88. data/lib/metric_fu/{reporting/templates → templates}/javascripts/utils.js +0 -0
  89. data/lib/metric_fu/{reporting/templates/awesome → templates}/layout.html.erb +1 -1
  90. data/lib/metric_fu/templates/metrics_template.rb +68 -0
  91. data/lib/metric_fu/templates/report.rb +11 -3
  92. data/lib/metric_fu/{metrics/base_template.rb → templates/template.rb} +8 -24
  93. data/lib/metric_fu/utility.rb +25 -0
  94. data/lib/metric_fu/version.rb +1 -1
  95. data/metric_fu.gemspec +2 -0
  96. data/spec/capture_warnings.rb +48 -0
  97. data/spec/dummy/lib/bad_encoding.rb +6 -0
  98. data/spec/fixtures/coverage-153.rb +11 -0
  99. data/spec/fixtures/rcov_output.txt +135 -0
  100. data/spec/metric_fu/configuration_spec.rb +4 -265
  101. data/spec/metric_fu/formatter/configuration_spec.rb +46 -0
  102. data/spec/metric_fu/formatter/html_spec.rb +17 -25
  103. data/spec/metric_fu/formatter/yaml_spec.rb +1 -1
  104. data/spec/metric_fu/{metrics/generator_spec.rb → generator_spec.rb} +0 -0
  105. data/spec/metric_fu/metrics/cane/configuration_spec.rb +22 -0
  106. data/spec/metric_fu/metrics/cane/{cane_spec.rb → generator_spec.rb} +1 -1
  107. data/spec/metric_fu/metrics/churn/configuration_spec.rb +15 -0
  108. data/spec/metric_fu/metrics/churn/{churn_spec.rb → generator_spec.rb} +1 -1
  109. data/spec/metric_fu/metrics/flay/configuration_spec.rb +15 -0
  110. data/spec/metric_fu/metrics/flay/{flay_spec.rb → generator_spec.rb} +2 -2
  111. data/spec/metric_fu/metrics/flay/{flay_grapher_spec.rb → grapher_spec.rb} +1 -1
  112. data/spec/metric_fu/metrics/flog/configuration_spec.rb +20 -0
  113. data/spec/metric_fu/metrics/flog/{flog_spec.rb → generator_spec.rb} +1 -1
  114. data/spec/metric_fu/metrics/flog/{flog_grapher_spec.rb → grapher_spec.rb} +1 -1
  115. data/spec/metric_fu/metrics/hotspots/{hotspots_spec.rb → generator_spec.rb} +1 -1
  116. data/spec/metric_fu/metrics/rails_best_practices/configuration_spec.rb +47 -0
  117. data/spec/metric_fu/metrics/rails_best_practices/{rails_best_practices_spec.rb → generator_spec.rb} +1 -1
  118. data/spec/metric_fu/metrics/rails_best_practices/{rails_best_practices_grapher_spec.rb → grapher_spec.rb} +1 -1
  119. data/spec/metric_fu/metrics/rcov/configuration_spec.rb +30 -0
  120. data/spec/metric_fu/metrics/rcov/generator_spec.rb +26 -0
  121. data/spec/metric_fu/metrics/rcov/{rcov_grapher_spec.rb → grapher_spec.rb} +1 -1
  122. data/spec/metric_fu/metrics/rcov/{rcov_hotspot_spec.rb → hotspot_spec.rb} +2 -2
  123. data/spec/metric_fu/metrics/rcov/simplecov_formatter_spec.rb +40 -12
  124. data/spec/metric_fu/metrics/reek/configuration_spec.rb +13 -0
  125. data/spec/metric_fu/metrics/reek/{reek_spec.rb → generator_spec.rb} +1 -1
  126. data/spec/metric_fu/metrics/reek/{reek_grapher_spec.rb → grapher_spec.rb} +1 -1
  127. data/spec/metric_fu/metrics/roodi/configuration_spec.rb +16 -0
  128. data/spec/metric_fu/metrics/roodi/{roodi_spec.rb → generator_spec.rb} +1 -1
  129. data/spec/metric_fu/metrics/roodi/{roodi_grapher_spec.rb → grapher_spec.rb} +1 -1
  130. data/spec/metric_fu/metrics/saikuro/configuration_spec.rb +26 -0
  131. data/spec/metric_fu/metrics/saikuro/{saikuro_spec.rb → generator_spec.rb} +1 -1
  132. data/spec/metric_fu/metrics/stats/{stats_spec.rb → generator_spec.rb} +1 -1
  133. data/spec/metric_fu/metrics/stats/{stats_grapher_spec.rb → grapher_spec.rb} +1 -1
  134. data/spec/metric_fu/{metrics → reporting/graphs}/graph_spec.rb +1 -1
  135. data/spec/metric_fu/run_spec.rb +1 -1
  136. data/spec/metric_fu/templates/configuration_spec.rb +57 -0
  137. data/spec/metric_fu/templates/report_spec.rb +15 -0
  138. data/spec/metric_fu/{metrics/base_template_spec.rb → templates/template_spec.rb} +0 -0
  139. data/spec/quality_spec.rb +86 -0
  140. data/spec/shared/configured.rb +47 -0
  141. data/spec/shared/test_coverage.rb +99 -0
  142. data/spec/spec_helper.rb +9 -5
  143. data/spec/support/helper_methods.rb +3 -2
  144. data/spec/support/matcher_create_file.rb +2 -2
  145. data/spec/support/matcher_create_files.rb +2 -2
  146. data/spec/support/usage_test.rb +24 -7
  147. data/spec/usage_test_spec.rb +28 -2
  148. metadata +165 -112
  149. metadata.gz.sig +0 -0
  150. data/Gemfile.devtools +0 -39
  151. data/lib/metric_fu/reporting/templates/awesome/awesome_template.rb +0 -62
  152. data/spec/metric_fu/metrics/rcov/rcov_spec.rb +0 -185
@@ -2,7 +2,7 @@ def enable_hotspots
2
2
  MetricFu.configure
3
3
  hotspot_metrics = MetricFu::Metric.metrics.map(&:name)
4
4
  hotspot_metrics.each do |metric_name|
5
- path = "#{metric_name}/#{metric_name}_hotspot"
5
+ path = "#{metric_name}/hotspot"
6
6
  begin
7
7
  MetricFu.metrics_require { path }
8
8
  rescue LoadError
@@ -13,7 +13,8 @@ end
13
13
 
14
14
  def metric_not_activated?(metric_name)
15
15
  MetricFu.configuration.configure_metrics
16
- if MetricFu::Metric.get_metric(metric_name.intern).activate
16
+ metric = MetricFu::Metric.get_metric(metric_name.intern)
17
+ if (metric.activate rescue false) # may fail if ripper not supported
17
18
  false
18
19
  else
19
20
  p "Skipping #{metric_name} tests, not activated"
@@ -7,13 +7,13 @@ RSpec::Matchers.define :create_file do |expected|
7
7
  !@before && @after
8
8
  end
9
9
 
10
- failure_message_for_should do |block|
10
+ failure_message do |block|
11
11
  existed_before_message expected do
12
12
  "The file #{expected.inspect} was not created"
13
13
  end
14
14
  end
15
15
 
16
- failure_message_for_should_not do |block|
16
+ failure_message_when_negated do |block|
17
17
  existed_before_message expected do
18
18
  "The file #{expected.inspect} was created"
19
19
  end
@@ -13,13 +13,13 @@ RSpec::Matchers.define :create_files do |expected|
13
13
  !@before && @after
14
14
  end
15
15
 
16
- failure_message_for_should do |block|
16
+ failure_message do |block|
17
17
  existed_before_message expected do
18
18
  "One or more files in [#{expected.inspect}] was not created."
19
19
  end
20
20
  end
21
21
 
22
- failure_message_for_should_not do |block|
22
+ failure_message_when_negated do |block|
23
23
  existed_before_message expected do
24
24
  "The files in [#{expected.inspect}] were created."
25
25
  end
@@ -3,18 +3,32 @@
3
3
 
4
4
  # puts "SUCCESS!"
5
5
  # Process.exit! 0
6
- require 'metric_fu/logging/mf_debugger'
7
6
  require 'open3'
7
+
8
8
  class UsageTest
9
- def initialize
10
- @markdown = Redcarpet::Markdown.new(HTMLRenderAndVerifyCodeBlocks, :fenced_code_blocks => true)
9
+ CodeBlock = Struct.new(:matchdata) do
10
+ # From kramdown-1.2.0/lib/kramdown/parser/gfm.rb
11
+ FENCED_CODEBLOCK_MATCH = /^(([~`]){3,})\s*?(\w+)?\s*?\n(.*?)^\1\2*\s*?\n/m
12
+ def code
13
+ matchdata[3].strip
14
+ end
15
+ def language
16
+ matchdata[2].strip
17
+ end
18
+ def self.find_code_blocks(markdown)
19
+ markdown.scan(FENCED_CODEBLOCK_MATCH).map do |matchdata|
20
+ new(matchdata)
21
+ end
22
+ end
11
23
  end
12
24
 
13
25
  def test_files(paths)
14
26
  in_test_directory do
15
27
  Array(paths).each do |path|
16
28
  puts "Testing #{path}"
17
- @markdown.render(File.read(path))
29
+ CodeBlock.find_code_blocks(File.read(path)).each do |code_block|
30
+ test_code_block!(code_block)
31
+ end
18
32
  puts
19
33
  end
20
34
  end
@@ -22,6 +36,10 @@ class UsageTest
22
36
  Process.exit! 0
23
37
  end
24
38
 
39
+ def test_code_block!(code_block)
40
+ SnippetRunner.new(code_block.code, code_block.language).test!
41
+ end
42
+
25
43
  private
26
44
 
27
45
  def in_test_directory
@@ -34,7 +52,6 @@ class UsageTest
34
52
  end
35
53
  end
36
54
  SnippetRunner = Struct.new(:code, :language) do
37
- include MfDebugger
38
55
  SystemCommandError = Class.new(StandardError)
39
56
  TestResult = Struct.new(:success, :captured_output)
40
57
 
@@ -104,9 +121,9 @@ SnippetRunner = Struct.new(:code, :language) do
104
121
  exception = nil
105
122
  stderr = :not_set
106
123
  stdout = :not_set
107
- MfDebugger::Logger.capture_output(STDOUT) do
124
+ MetricFu::Utility.capture_output(STDOUT) do
108
125
  stdout =
109
- MfDebugger::Logger.capture_output(STDERR) do
126
+ MetricFu::Utility.capture_output(STDERR) do
110
127
  begin
111
128
  stderr = yield
112
129
  rescue Exception => e
@@ -2,6 +2,32 @@ describe 'usage test' do
2
2
  ROOT_PATH = File.expand_path("..", File.dirname(__FILE__))
3
3
  require File.join(ROOT_PATH, 'spec/support/usage_test')
4
4
 
5
+ it 'extracts fenced code blocks, identifying the code and language' do
6
+ ruby_code = "puts 'This is ruby'"
7
+ shell_code = %Q(ruby -e "puts 'This is shell'")
8
+ ruby_block, shell_block = UsageTest::CodeBlock.find_code_blocks(<<-README
9
+ This is not code
10
+
11
+ ```ruby
12
+ #{ruby_code}
13
+ ```
14
+
15
+ Nope. Not code.
16
+
17
+ ```sh
18
+ #{shell_code}
19
+ ```
20
+
21
+ Not code, either.
22
+ README
23
+ )
24
+ expect(ruby_block.language).to eq('ruby')
25
+ expect(ruby_block.code).to eq(ruby_code)
26
+
27
+ expect(shell_block.language).to eq('sh')
28
+ expect(shell_block.code).to eq(shell_code)
29
+ end
30
+
5
31
  context 'evaluating ruby code' do
6
32
  specify 'succeeds when the code runs without errors' do
7
33
  code = "1 + 1"
@@ -44,13 +70,13 @@ describe 'usage test' do
44
70
  expect(test_result.success).to eq(false)
45
71
  end
46
72
  specify 'succeeds when the code exits with a zero exit status' do
47
- code = "sh #{fixtures_path.join('exit0.sh').to_path}"
73
+ code = "sh '#{fixtures_path.join('exit0.sh').to_path}'"
48
74
  test_result = SnippetRunner.new(code, 'sh').run_code
49
75
  expect(test_result.captured_output).to match("exit status 0")
50
76
  expect(test_result.success).to eq(true)
51
77
  end
52
78
  specify 'fails when the code exits with a non-zero exit status' do
53
- code = "sh #{fixtures_path.join('exit1.sh').to_path}"
79
+ code = "sh '#{fixtures_path.join('exit1.sh').to_path}'"
54
80
  test_result = SnippetRunner.new(code, 'sh').run_code
55
81
  expect(test_result.captured_output).to match("exit status 1")
56
82
  expect(test_result.success).to eq(false)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metric_fu
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.10.0
4
+ version: 4.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jake Scruggs
@@ -49,7 +49,7 @@ cert_chain:
49
49
  dWphdUtxcjhoS0RMdTRLK3F1Q0dqWC82TEw2CldPTno5dlQ2aDA1M2tIWllN
50
50
  cmQ0R3MvTmRhQTR0SlN4cmhabFhkYWpBbS8wdkFPekxJcVVISFFrM1IwdGY3
51
51
  YVkKZC93PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
52
- date: 2014-04-01 00:00:00.000000000 Z
52
+ date: 2014-05-04 00:00:00.000000000 Z
53
53
  dependencies:
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: flay
@@ -255,6 +255,20 @@ dependencies:
255
255
  - - ! '>='
256
256
  - !ruby/object:Gem::Version
257
257
  version: '0'
258
+ - !ruby/object:Gem::Dependency
259
+ name: launchy
260
+ requirement: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ~>
263
+ - !ruby/object:Gem::Version
264
+ version: '2.0'
265
+ type: :runtime
266
+ prerelease: false
267
+ version_requirements: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ~>
270
+ - !ruby/object:Gem::Version
271
+ version: '2.0'
258
272
  - !ruby/object:Gem::Dependency
259
273
  name: test_construct
260
274
  requirement: !ruby/object:Gem::Requirement
@@ -318,6 +332,7 @@ files:
318
332
  - .gitignore
319
333
  - .metrics
320
334
  - .rspec
335
+ - .simplecov
321
336
  - .travis.yml
322
337
  - .yardopts
323
338
  - AUTHORS
@@ -325,7 +340,6 @@ files:
325
340
  - CONTRIBUTORS
326
341
  - DEV.md
327
342
  - Gemfile
328
- - Gemfile.devtools
329
343
  - Guardfile
330
344
  - HISTORY.md
331
345
  - MIT-LICENSE
@@ -384,32 +398,31 @@ files:
384
398
  - lib/metric_fu/formatter/yaml.rb
385
399
  - lib/metric_fu/gem_run.rb
386
400
  - lib/metric_fu/gem_version.rb
401
+ - lib/metric_fu/generator.rb
387
402
  - lib/metric_fu/io.rb
388
403
  - lib/metric_fu/loader.rb
404
+ - lib/metric_fu/logger.rb
389
405
  - lib/metric_fu/logging/mf_debugger.rb
390
406
  - lib/metric_fu/metric.rb
391
- - lib/metric_fu/metrics/base_template.rb
392
- - lib/metric_fu/metrics/cane/cane.rb
393
- - lib/metric_fu/metrics/cane/cane_grapher.rb
394
- - lib/metric_fu/metrics/cane/init.rb
395
- - lib/metric_fu/metrics/cane/template_awesome/cane.html.erb
407
+ - lib/metric_fu/metrics/cane/generator.rb
408
+ - lib/metric_fu/metrics/cane/grapher.rb
409
+ - lib/metric_fu/metrics/cane/metric.rb
410
+ - lib/metric_fu/metrics/cane/report.html.erb
396
411
  - lib/metric_fu/metrics/cane/violations.rb
397
- - lib/metric_fu/metrics/churn/churn.rb
398
- - lib/metric_fu/metrics/churn/churn_hotspot.rb
399
- - lib/metric_fu/metrics/churn/init.rb
400
- - lib/metric_fu/metrics/churn/template_awesome/churn.html.erb
401
- - lib/metric_fu/metrics/flay/flay.rb
402
- - lib/metric_fu/metrics/flay/flay_grapher.rb
403
- - lib/metric_fu/metrics/flay/flay_hotspot.rb
404
- - lib/metric_fu/metrics/flay/init.rb
405
- - lib/metric_fu/metrics/flay/template_awesome/flay.html.erb
406
- - lib/metric_fu/metrics/flog/flog.rb
407
- - lib/metric_fu/metrics/flog/flog_grapher.rb
408
- - lib/metric_fu/metrics/flog/flog_hotspot.rb
409
- - lib/metric_fu/metrics/flog/init.rb
410
- - lib/metric_fu/metrics/flog/template_awesome/flog.html.erb
411
- - lib/metric_fu/metrics/generator.rb
412
- - lib/metric_fu/metrics/graph.rb
412
+ - lib/metric_fu/metrics/churn/generator.rb
413
+ - lib/metric_fu/metrics/churn/hotspot.rb
414
+ - lib/metric_fu/metrics/churn/metric.rb
415
+ - lib/metric_fu/metrics/churn/report.html.erb
416
+ - lib/metric_fu/metrics/flay/generator.rb
417
+ - lib/metric_fu/metrics/flay/grapher.rb
418
+ - lib/metric_fu/metrics/flay/hotspot.rb
419
+ - lib/metric_fu/metrics/flay/metric.rb
420
+ - lib/metric_fu/metrics/flay/report.html.erb
421
+ - lib/metric_fu/metrics/flog/generator.rb
422
+ - lib/metric_fu/metrics/flog/grapher.rb
423
+ - lib/metric_fu/metrics/flog/hotspot.rb
424
+ - lib/metric_fu/metrics/flog/metric.rb
425
+ - lib/metric_fu/metrics/flog/report.html.erb
413
426
  - lib/metric_fu/metrics/hotspots/analysis/analyzed_problems.rb
414
427
  - lib/metric_fu/metrics/hotspots/analysis/analyzer_tables.rb
415
428
  - lib/metric_fu/metrics/hotspots/analysis/grouping.rb
@@ -421,62 +434,52 @@ files:
421
434
  - lib/metric_fu/metrics/hotspots/analysis/record.rb
422
435
  - lib/metric_fu/metrics/hotspots/analysis/scoring_strategies.rb
423
436
  - lib/metric_fu/metrics/hotspots/analysis/table.rb
437
+ - lib/metric_fu/metrics/hotspots/generator.rb
424
438
  - lib/metric_fu/metrics/hotspots/hotspot.rb
425
439
  - lib/metric_fu/metrics/hotspots/hotspot_analyzer.rb
426
- - lib/metric_fu/metrics/hotspots/hotspots.rb
427
- - lib/metric_fu/metrics/hotspots/init.rb
428
- - lib/metric_fu/metrics/hotspots/template_awesome/hotspots.html.erb
429
- - lib/metric_fu/metrics/rails_best_practices/init.rb
430
- - lib/metric_fu/metrics/rails_best_practices/rails_best_practices.rb
431
- - lib/metric_fu/metrics/rails_best_practices/rails_best_practices_grapher.rb
432
- - lib/metric_fu/metrics/rails_best_practices/template_awesome/rails_best_practices.html.erb
440
+ - lib/metric_fu/metrics/hotspots/metric.rb
441
+ - lib/metric_fu/metrics/hotspots/report.html.erb
442
+ - lib/metric_fu/metrics/rails_best_practices/generator.rb
443
+ - lib/metric_fu/metrics/rails_best_practices/grapher.rb
444
+ - lib/metric_fu/metrics/rails_best_practices/metric.rb
445
+ - lib/metric_fu/metrics/rails_best_practices/report.html.erb
433
446
  - lib/metric_fu/metrics/rcov/external_client.rb
434
- - lib/metric_fu/metrics/rcov/init.rb
435
- - lib/metric_fu/metrics/rcov/rcov.rb
447
+ - lib/metric_fu/metrics/rcov/generator.rb
448
+ - lib/metric_fu/metrics/rcov/grapher.rb
449
+ - lib/metric_fu/metrics/rcov/hotspot.rb
450
+ - lib/metric_fu/metrics/rcov/metric.rb
436
451
  - lib/metric_fu/metrics/rcov/rcov_format_coverage.rb
437
- - lib/metric_fu/metrics/rcov/rcov_grapher.rb
438
- - lib/metric_fu/metrics/rcov/rcov_hotspot.rb
452
+ - lib/metric_fu/metrics/rcov/report.html.erb
439
453
  - lib/metric_fu/metrics/rcov/simplecov_formatter.rb
440
- - lib/metric_fu/metrics/rcov/template_awesome/rcov.html.erb
441
- - lib/metric_fu/metrics/reek/init.rb
442
- - lib/metric_fu/metrics/reek/reek.rb
443
- - lib/metric_fu/metrics/reek/reek_grapher.rb
444
- - lib/metric_fu/metrics/reek/reek_hotspot.rb
445
- - lib/metric_fu/metrics/reek/template_awesome/reek.html.erb
446
- - lib/metric_fu/metrics/roodi/init.rb
447
- - lib/metric_fu/metrics/roodi/roodi.rb
448
- - lib/metric_fu/metrics/roodi/roodi_grapher.rb
449
- - lib/metric_fu/metrics/roodi/roodi_hotspot.rb
450
- - lib/metric_fu/metrics/roodi/template_awesome/roodi.html.erb
451
- - lib/metric_fu/metrics/saikuro/init.rb
454
+ - lib/metric_fu/metrics/reek/generator.rb
455
+ - lib/metric_fu/metrics/reek/grapher.rb
456
+ - lib/metric_fu/metrics/reek/hotspot.rb
457
+ - lib/metric_fu/metrics/reek/metric.rb
458
+ - lib/metric_fu/metrics/reek/report.html.erb
459
+ - lib/metric_fu/metrics/roodi/generator.rb
460
+ - lib/metric_fu/metrics/roodi/grapher.rb
461
+ - lib/metric_fu/metrics/roodi/hotspot.rb
462
+ - lib/metric_fu/metrics/roodi/metric.rb
463
+ - lib/metric_fu/metrics/roodi/report.html.erb
464
+ - lib/metric_fu/metrics/saikuro/generator.rb
465
+ - lib/metric_fu/metrics/saikuro/hotspot.rb
466
+ - lib/metric_fu/metrics/saikuro/metric.rb
452
467
  - lib/metric_fu/metrics/saikuro/parsing_element.rb
453
- - lib/metric_fu/metrics/saikuro/saikuro.rb
454
- - lib/metric_fu/metrics/saikuro/saikuro_hotspot.rb
468
+ - lib/metric_fu/metrics/saikuro/report.html.erb
455
469
  - lib/metric_fu/metrics/saikuro/scratch_file.rb
456
- - lib/metric_fu/metrics/saikuro/template_awesome/saikuro.html.erb
457
- - lib/metric_fu/metrics/stats/init.rb
458
- - lib/metric_fu/metrics/stats/stats.rb
459
- - lib/metric_fu/metrics/stats/stats_grapher.rb
460
- - lib/metric_fu/metrics/stats/stats_hotspot.rb
461
- - lib/metric_fu/metrics/stats/template_awesome/stats.html.erb
470
+ - lib/metric_fu/metrics/stats/generator.rb
471
+ - lib/metric_fu/metrics/stats/grapher.rb
472
+ - lib/metric_fu/metrics/stats/hotspot.rb
473
+ - lib/metric_fu/metrics/stats/metric.rb
474
+ - lib/metric_fu/metrics/stats/report.html.erb
462
475
  - lib/metric_fu/reporter.rb
476
+ - lib/metric_fu/reporting/graphs/graph.rb
463
477
  - lib/metric_fu/reporting/graphs/grapher.rb
464
478
  - lib/metric_fu/reporting/result.rb
465
- - lib/metric_fu/reporting/templates/awesome/_graph.html.erb
466
- - lib/metric_fu/reporting/templates/awesome/_report_footer.html.erb
467
- - lib/metric_fu/reporting/templates/awesome/awesome_template.rb
468
- - lib/metric_fu/reporting/templates/awesome/index.html.erb
469
- - lib/metric_fu/reporting/templates/awesome/layout.html.erb
470
- - lib/metric_fu/reporting/templates/javascripts/bluff-min.js
471
- - lib/metric_fu/reporting/templates/javascripts/bluff_graph.js
472
- - lib/metric_fu/reporting/templates/javascripts/excanvas.js
473
- - lib/metric_fu/reporting/templates/javascripts/highcharts.js
474
- - lib/metric_fu/reporting/templates/javascripts/highcharts_graph.js
475
- - lib/metric_fu/reporting/templates/javascripts/js-class.js
476
- - lib/metric_fu/reporting/templates/javascripts/standalone-framework.js
477
- - lib/metric_fu/reporting/templates/javascripts/utils.js
478
479
  - lib/metric_fu/run.rb
479
480
  - lib/metric_fu/tasks/metric_fu.rake
481
+ - lib/metric_fu/templates/_graph.html.erb
482
+ - lib/metric_fu/templates/_report_footer.html.erb
480
483
  - lib/metric_fu/templates/configuration.rb
481
484
  - lib/metric_fu/templates/css/bluff.css
482
485
  - lib/metric_fu/templates/css/buttons.css
@@ -485,18 +488,33 @@ files:
485
488
  - lib/metric_fu/templates/css/rcov.css
486
489
  - lib/metric_fu/templates/css/reset.css
487
490
  - lib/metric_fu/templates/css/syntax.css
491
+ - lib/metric_fu/templates/index.html.erb
492
+ - lib/metric_fu/templates/javascripts/bluff-min.js
493
+ - lib/metric_fu/templates/javascripts/bluff_graph.js
494
+ - lib/metric_fu/templates/javascripts/excanvas.js
495
+ - lib/metric_fu/templates/javascripts/highcharts.js
496
+ - lib/metric_fu/templates/javascripts/highcharts_graph.js
497
+ - lib/metric_fu/templates/javascripts/js-class.js
498
+ - lib/metric_fu/templates/javascripts/standalone-framework.js
499
+ - lib/metric_fu/templates/javascripts/utils.js
500
+ - lib/metric_fu/templates/layout.html.erb
501
+ - lib/metric_fu/templates/metrics_template.rb
488
502
  - lib/metric_fu/templates/report.html.erb
489
503
  - lib/metric_fu/templates/report.rb
504
+ - lib/metric_fu/templates/template.rb
490
505
  - lib/metric_fu/utility.rb
491
506
  - lib/metric_fu/version.rb
492
507
  - metric_fu.gemspec
508
+ - spec/capture_warnings.rb
493
509
  - spec/cli/helper_spec.rb
494
510
  - spec/dummy/.gitignore
495
511
  - spec/dummy/.gitkeep
496
512
  - spec/dummy/.metrics
497
513
  - spec/dummy/lib/.gitkeep
514
+ - spec/dummy/lib/bad_encoding.rb
498
515
  - spec/dummy/spec/.gitkeep
499
516
  - spec/fixtures/20090630.yml
517
+ - spec/fixtures/coverage-153.rb
500
518
  - spec/fixtures/coverage.rb
501
519
  - spec/fixtures/exit0.sh
502
520
  - spec/fixtures/exit1.sh
@@ -514,6 +532,7 @@ files:
514
532
  - spec/fixtures/line_numbers/module_surrounds_class.rb
515
533
  - spec/fixtures/line_numbers/two_classes.rb
516
534
  - spec/fixtures/metric_missing.yml
535
+ - spec/fixtures/rcov_output.txt
517
536
  - spec/fixtures/saikuro/app/controllers/sessions_controller.rb_cyclo.html
518
537
  - spec/fixtures/saikuro/app/controllers/users_controller.rb_cyclo.html
519
538
  - spec/fixtures/saikuro/index_cyclo.html
@@ -522,48 +541,63 @@ files:
522
541
  - spec/metric_fu/configuration_spec.rb
523
542
  - spec/metric_fu/data_structures/line_numbers_spec.rb
524
543
  - spec/metric_fu/data_structures/location_spec.rb
544
+ - spec/metric_fu/formatter/configuration_spec.rb
525
545
  - spec/metric_fu/formatter/html_spec.rb
526
546
  - spec/metric_fu/formatter/yaml_spec.rb
527
547
  - spec/metric_fu/formatter_spec.rb
528
548
  - spec/metric_fu/gem_version_spec.rb
549
+ - spec/metric_fu/generator_spec.rb
529
550
  - spec/metric_fu/loader_spec.rb
530
551
  - spec/metric_fu/metric_spec.rb
531
- - spec/metric_fu/metrics/base_template_spec.rb
532
- - spec/metric_fu/metrics/cane/cane_spec.rb
533
- - spec/metric_fu/metrics/churn/churn_spec.rb
534
- - spec/metric_fu/metrics/flay/flay_grapher_spec.rb
535
- - spec/metric_fu/metrics/flay/flay_spec.rb
536
- - spec/metric_fu/metrics/flog/flog_grapher_spec.rb
537
- - spec/metric_fu/metrics/flog/flog_spec.rb
538
- - spec/metric_fu/metrics/generator_spec.rb
539
- - spec/metric_fu/metrics/graph_spec.rb
552
+ - spec/metric_fu/metrics/cane/configuration_spec.rb
553
+ - spec/metric_fu/metrics/cane/generator_spec.rb
554
+ - spec/metric_fu/metrics/churn/configuration_spec.rb
555
+ - spec/metric_fu/metrics/churn/generator_spec.rb
556
+ - spec/metric_fu/metrics/flay/configuration_spec.rb
557
+ - spec/metric_fu/metrics/flay/generator_spec.rb
558
+ - spec/metric_fu/metrics/flay/grapher_spec.rb
559
+ - spec/metric_fu/metrics/flog/configuration_spec.rb
560
+ - spec/metric_fu/metrics/flog/generator_spec.rb
561
+ - spec/metric_fu/metrics/flog/grapher_spec.rb
540
562
  - spec/metric_fu/metrics/hotspots/analysis/analyzed_problems_spec.rb
541
563
  - spec/metric_fu/metrics/hotspots/analysis/analyzer_tables_spec.rb
542
564
  - spec/metric_fu/metrics/hotspots/analysis/ranking_spec.rb
543
565
  - spec/metric_fu/metrics/hotspots/analysis/rankings_spec.rb
544
566
  - spec/metric_fu/metrics/hotspots/analysis/table_spec.rb
567
+ - spec/metric_fu/metrics/hotspots/generator_spec.rb
545
568
  - spec/metric_fu/metrics/hotspots/hotspot_analyzer_spec.rb
546
569
  - spec/metric_fu/metrics/hotspots/hotspot_spec.rb
547
- - spec/metric_fu/metrics/hotspots/hotspots_spec.rb
548
- - spec/metric_fu/metrics/rails_best_practices/rails_best_practices_grapher_spec.rb
549
- - spec/metric_fu/metrics/rails_best_practices/rails_best_practices_spec.rb
550
- - spec/metric_fu/metrics/rcov/rcov_grapher_spec.rb
551
- - spec/metric_fu/metrics/rcov/rcov_hotspot_spec.rb
552
- - spec/metric_fu/metrics/rcov/rcov_spec.rb
570
+ - spec/metric_fu/metrics/rails_best_practices/configuration_spec.rb
571
+ - spec/metric_fu/metrics/rails_best_practices/generator_spec.rb
572
+ - spec/metric_fu/metrics/rails_best_practices/grapher_spec.rb
573
+ - spec/metric_fu/metrics/rcov/configuration_spec.rb
574
+ - spec/metric_fu/metrics/rcov/generator_spec.rb
575
+ - spec/metric_fu/metrics/rcov/grapher_spec.rb
576
+ - spec/metric_fu/metrics/rcov/hotspot_spec.rb
553
577
  - spec/metric_fu/metrics/rcov/simplecov_formatter_spec.rb
554
- - spec/metric_fu/metrics/reek/reek_grapher_spec.rb
555
- - spec/metric_fu/metrics/reek/reek_spec.rb
556
- - spec/metric_fu/metrics/roodi/roodi_grapher_spec.rb
557
- - spec/metric_fu/metrics/roodi/roodi_spec.rb
558
- - spec/metric_fu/metrics/saikuro/saikuro_spec.rb
559
- - spec/metric_fu/metrics/stats/stats_grapher_spec.rb
560
- - spec/metric_fu/metrics/stats/stats_spec.rb
578
+ - spec/metric_fu/metrics/reek/configuration_spec.rb
579
+ - spec/metric_fu/metrics/reek/generator_spec.rb
580
+ - spec/metric_fu/metrics/reek/grapher_spec.rb
581
+ - spec/metric_fu/metrics/roodi/configuration_spec.rb
582
+ - spec/metric_fu/metrics/roodi/generator_spec.rb
583
+ - spec/metric_fu/metrics/roodi/grapher_spec.rb
584
+ - spec/metric_fu/metrics/saikuro/configuration_spec.rb
585
+ - spec/metric_fu/metrics/saikuro/generator_spec.rb
586
+ - spec/metric_fu/metrics/stats/generator_spec.rb
587
+ - spec/metric_fu/metrics/stats/grapher_spec.rb
561
588
  - spec/metric_fu/reporter_spec.rb
589
+ - spec/metric_fu/reporting/graphs/graph_spec.rb
562
590
  - spec/metric_fu/reporting/graphs/grapher_spec.rb
563
591
  - spec/metric_fu/reporting/result_spec.rb
564
592
  - spec/metric_fu/run_spec.rb
593
+ - spec/metric_fu/templates/configuration_spec.rb
594
+ - spec/metric_fu/templates/report_spec.rb
595
+ - spec/metric_fu/templates/template_spec.rb
565
596
  - spec/metric_fu/utility_spec.rb
566
597
  - spec/metric_fu_spec.rb
598
+ - spec/quality_spec.rb
599
+ - spec/shared/configured.rb
600
+ - spec/shared/test_coverage.rb
567
601
  - spec/spec_helper.rb
568
602
  - spec/support/deferred_garbaged_collection.rb
569
603
  - spec/support/helper_methods.rb
@@ -601,13 +635,16 @@ signing_key:
601
635
  specification_version: 4
602
636
  summary: A fistful of code metrics, with awesome templates and graphs
603
637
  test_files:
638
+ - spec/capture_warnings.rb
604
639
  - spec/cli/helper_spec.rb
605
640
  - spec/dummy/.gitignore
606
641
  - spec/dummy/.gitkeep
607
642
  - spec/dummy/.metrics
608
643
  - spec/dummy/lib/.gitkeep
644
+ - spec/dummy/lib/bad_encoding.rb
609
645
  - spec/dummy/spec/.gitkeep
610
646
  - spec/fixtures/20090630.yml
647
+ - spec/fixtures/coverage-153.rb
611
648
  - spec/fixtures/coverage.rb
612
649
  - spec/fixtures/exit0.sh
613
650
  - spec/fixtures/exit1.sh
@@ -625,6 +662,7 @@ test_files:
625
662
  - spec/fixtures/line_numbers/module_surrounds_class.rb
626
663
  - spec/fixtures/line_numbers/two_classes.rb
627
664
  - spec/fixtures/metric_missing.yml
665
+ - spec/fixtures/rcov_output.txt
628
666
  - spec/fixtures/saikuro/app/controllers/sessions_controller.rb_cyclo.html
629
667
  - spec/fixtures/saikuro/app/controllers/users_controller.rb_cyclo.html
630
668
  - spec/fixtures/saikuro/index_cyclo.html
@@ -633,48 +671,63 @@ test_files:
633
671
  - spec/metric_fu/configuration_spec.rb
634
672
  - spec/metric_fu/data_structures/line_numbers_spec.rb
635
673
  - spec/metric_fu/data_structures/location_spec.rb
674
+ - spec/metric_fu/formatter/configuration_spec.rb
636
675
  - spec/metric_fu/formatter/html_spec.rb
637
676
  - spec/metric_fu/formatter/yaml_spec.rb
638
677
  - spec/metric_fu/formatter_spec.rb
639
678
  - spec/metric_fu/gem_version_spec.rb
679
+ - spec/metric_fu/generator_spec.rb
640
680
  - spec/metric_fu/loader_spec.rb
641
681
  - spec/metric_fu/metric_spec.rb
642
- - spec/metric_fu/metrics/base_template_spec.rb
643
- - spec/metric_fu/metrics/cane/cane_spec.rb
644
- - spec/metric_fu/metrics/churn/churn_spec.rb
645
- - spec/metric_fu/metrics/flay/flay_grapher_spec.rb
646
- - spec/metric_fu/metrics/flay/flay_spec.rb
647
- - spec/metric_fu/metrics/flog/flog_grapher_spec.rb
648
- - spec/metric_fu/metrics/flog/flog_spec.rb
649
- - spec/metric_fu/metrics/generator_spec.rb
650
- - spec/metric_fu/metrics/graph_spec.rb
682
+ - spec/metric_fu/metrics/cane/configuration_spec.rb
683
+ - spec/metric_fu/metrics/cane/generator_spec.rb
684
+ - spec/metric_fu/metrics/churn/configuration_spec.rb
685
+ - spec/metric_fu/metrics/churn/generator_spec.rb
686
+ - spec/metric_fu/metrics/flay/configuration_spec.rb
687
+ - spec/metric_fu/metrics/flay/generator_spec.rb
688
+ - spec/metric_fu/metrics/flay/grapher_spec.rb
689
+ - spec/metric_fu/metrics/flog/configuration_spec.rb
690
+ - spec/metric_fu/metrics/flog/generator_spec.rb
691
+ - spec/metric_fu/metrics/flog/grapher_spec.rb
651
692
  - spec/metric_fu/metrics/hotspots/analysis/analyzed_problems_spec.rb
652
693
  - spec/metric_fu/metrics/hotspots/analysis/analyzer_tables_spec.rb
653
694
  - spec/metric_fu/metrics/hotspots/analysis/ranking_spec.rb
654
695
  - spec/metric_fu/metrics/hotspots/analysis/rankings_spec.rb
655
696
  - spec/metric_fu/metrics/hotspots/analysis/table_spec.rb
697
+ - spec/metric_fu/metrics/hotspots/generator_spec.rb
656
698
  - spec/metric_fu/metrics/hotspots/hotspot_analyzer_spec.rb
657
699
  - spec/metric_fu/metrics/hotspots/hotspot_spec.rb
658
- - spec/metric_fu/metrics/hotspots/hotspots_spec.rb
659
- - spec/metric_fu/metrics/rails_best_practices/rails_best_practices_grapher_spec.rb
660
- - spec/metric_fu/metrics/rails_best_practices/rails_best_practices_spec.rb
661
- - spec/metric_fu/metrics/rcov/rcov_grapher_spec.rb
662
- - spec/metric_fu/metrics/rcov/rcov_hotspot_spec.rb
663
- - spec/metric_fu/metrics/rcov/rcov_spec.rb
700
+ - spec/metric_fu/metrics/rails_best_practices/configuration_spec.rb
701
+ - spec/metric_fu/metrics/rails_best_practices/generator_spec.rb
702
+ - spec/metric_fu/metrics/rails_best_practices/grapher_spec.rb
703
+ - spec/metric_fu/metrics/rcov/configuration_spec.rb
704
+ - spec/metric_fu/metrics/rcov/generator_spec.rb
705
+ - spec/metric_fu/metrics/rcov/grapher_spec.rb
706
+ - spec/metric_fu/metrics/rcov/hotspot_spec.rb
664
707
  - spec/metric_fu/metrics/rcov/simplecov_formatter_spec.rb
665
- - spec/metric_fu/metrics/reek/reek_grapher_spec.rb
666
- - spec/metric_fu/metrics/reek/reek_spec.rb
667
- - spec/metric_fu/metrics/roodi/roodi_grapher_spec.rb
668
- - spec/metric_fu/metrics/roodi/roodi_spec.rb
669
- - spec/metric_fu/metrics/saikuro/saikuro_spec.rb
670
- - spec/metric_fu/metrics/stats/stats_grapher_spec.rb
671
- - spec/metric_fu/metrics/stats/stats_spec.rb
708
+ - spec/metric_fu/metrics/reek/configuration_spec.rb
709
+ - spec/metric_fu/metrics/reek/generator_spec.rb
710
+ - spec/metric_fu/metrics/reek/grapher_spec.rb
711
+ - spec/metric_fu/metrics/roodi/configuration_spec.rb
712
+ - spec/metric_fu/metrics/roodi/generator_spec.rb
713
+ - spec/metric_fu/metrics/roodi/grapher_spec.rb
714
+ - spec/metric_fu/metrics/saikuro/configuration_spec.rb
715
+ - spec/metric_fu/metrics/saikuro/generator_spec.rb
716
+ - spec/metric_fu/metrics/stats/generator_spec.rb
717
+ - spec/metric_fu/metrics/stats/grapher_spec.rb
672
718
  - spec/metric_fu/reporter_spec.rb
719
+ - spec/metric_fu/reporting/graphs/graph_spec.rb
673
720
  - spec/metric_fu/reporting/graphs/grapher_spec.rb
674
721
  - spec/metric_fu/reporting/result_spec.rb
675
722
  - spec/metric_fu/run_spec.rb
723
+ - spec/metric_fu/templates/configuration_spec.rb
724
+ - spec/metric_fu/templates/report_spec.rb
725
+ - spec/metric_fu/templates/template_spec.rb
676
726
  - spec/metric_fu/utility_spec.rb
677
727
  - spec/metric_fu_spec.rb
728
+ - spec/quality_spec.rb
729
+ - spec/shared/configured.rb
730
+ - spec/shared/test_coverage.rb
678
731
  - spec/spec_helper.rb
679
732
  - spec/support/deferred_garbaged_collection.rb
680
733
  - spec/support/helper_methods.rb