metric_fu 2.1.1 → 2.1.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. data/.gitignore +20 -0
  2. data/.travis.yml +5 -0
  3. data/Gemfile +5 -0
  4. data/HISTORY +21 -1
  5. data/Manifest.txt +25 -0
  6. data/README.md +61 -0
  7. data/Rakefile +15 -9
  8. data/TODO +2 -0
  9. data/bin/metric_fu +4 -0
  10. data/config/roodi_config.yml +22 -0
  11. data/home_page/back_all.jpg +0 -0
  12. data/home_page/churn.gif +0 -0
  13. data/home_page/flay.gif +0 -0
  14. data/home_page/flog.gif +0 -0
  15. data/home_page/footer.gif +0 -0
  16. data/home_page/header.jpg +0 -0
  17. data/home_page/hotspot.gif +0 -0
  18. data/home_page/img09.gif +0 -0
  19. data/home_page/index.html +305 -0
  20. data/home_page/rcov.gif +0 -0
  21. data/home_page/reek.gif +0 -0
  22. data/home_page/roodi.gif +0 -0
  23. data/home_page/saikuro.gif +0 -0
  24. data/home_page/stats.gif +0 -0
  25. data/home_page/styles.css +245 -0
  26. data/home_page/title.gif +0 -0
  27. data/home_page/title_back.gif +0 -0
  28. data/lib/{base/configuration.rb → configuration.rb} +45 -17
  29. data/lib/data_structures/careful_array.rb +9 -0
  30. data/lib/{base → data_structures}/code_issue.rb +17 -16
  31. data/lib/data_structures/grouping.rb +40 -0
  32. data/lib/{base → data_structures}/line_numbers.rb +23 -14
  33. data/lib/{base → data_structures}/location.rb +3 -1
  34. data/lib/{base → data_structures}/ranking.rb +0 -0
  35. data/lib/data_structures/record.rb +43 -0
  36. data/lib/{base → data_structures}/table.rb +6 -2
  37. data/lib/errors/analysis_error.rb +1 -0
  38. data/lib/initial_requires.rb +25 -0
  39. data/lib/load_files.rb +39 -0
  40. data/lib/logging/mf_debugger.rb +24 -0
  41. data/lib/{base/md5_tracker.rb → md5_tracker.rb} +0 -0
  42. data/lib/metric_fu.rb +55 -37
  43. data/lib/{base → metrics}/base_template.rb +47 -16
  44. data/lib/{generators → metrics/churn}/churn.rb +0 -0
  45. data/lib/{base → metrics/churn}/churn_analyzer.rb +0 -0
  46. data/lib/{templates/awesome → metrics/churn/template_awesome}/churn.html.erb +0 -0
  47. data/lib/{templates/standard → metrics/churn/template_standard}/churn.html.erb +0 -0
  48. data/lib/{generators → metrics/flay}/flay.rb +0 -0
  49. data/lib/{base → metrics/flay}/flay_analyzer.rb +0 -0
  50. data/lib/{graphs → metrics/flay}/flay_grapher.rb +0 -0
  51. data/lib/{templates/awesome → metrics/flay/template_awesome}/flay.html.erb +0 -0
  52. data/lib/{templates/standard → metrics/flay/template_standard}/flay.html.erb +0 -0
  53. data/lib/{generators → metrics/flog}/flog.rb +2 -0
  54. data/lib/{base → metrics/flog}/flog_analyzer.rb +0 -0
  55. data/lib/{graphs → metrics/flog}/flog_grapher.rb +0 -0
  56. data/lib/{templates/awesome → metrics/flog/template_awesome}/flog.html.erb +0 -0
  57. data/lib/{templates/standard → metrics/flog/template_standard}/flog.html.erb +0 -0
  58. data/lib/{base → metrics}/generator.rb +0 -0
  59. data/lib/{base → metrics}/graph.rb +0 -0
  60. data/lib/{generators → metrics/hotspots}/hotspots.rb +0 -0
  61. data/lib/{templates/awesome → metrics/hotspots/template_awesome}/hotspots.html.erb +0 -0
  62. data/lib/{templates/standard → metrics/hotspots/template_standard}/hotspots.html.erb +0 -0
  63. data/lib/{base → metrics}/metric_analyzer.rb +4 -80
  64. data/lib/{generators → metrics/rails_best_practices}/rails_best_practices.rb +0 -0
  65. data/lib/{graphs → metrics/rails_best_practices}/rails_best_practices_grapher.rb +0 -0
  66. data/lib/{templates/awesome → metrics/rails_best_practices/template_awesome}/rails_best_practices.html.erb +1 -1
  67. data/lib/{templates/standard → metrics/rails_best_practices/template_standard}/rails_best_practices.html.erb +1 -1
  68. data/lib/{generators → metrics/rcov}/rcov.rb +5 -3
  69. data/lib/{base → metrics/rcov}/rcov_analyzer.rb +1 -1
  70. data/lib/{graphs → metrics/rcov}/rcov_grapher.rb +0 -0
  71. data/lib/{templates/awesome → metrics/rcov/template_awesome}/rcov.html.erb +0 -0
  72. data/lib/{templates/standard → metrics/rcov/template_standard}/rcov.html.erb +0 -0
  73. data/lib/{generators → metrics/reek}/reek.rb +3 -2
  74. data/lib/{base → metrics/reek}/reek_analyzer.rb +1 -0
  75. data/lib/{graphs → metrics/reek}/reek_grapher.rb +0 -0
  76. data/lib/{templates/awesome → metrics/reek/template_awesome}/reek.html.erb +0 -0
  77. data/lib/{templates/standard → metrics/reek/template_standard}/reek.html.erb +0 -0
  78. data/lib/{generators → metrics/roodi}/roodi.rb +0 -0
  79. data/lib/{base → metrics/roodi}/roodi_analyzer.rb +0 -0
  80. data/lib/{graphs → metrics/roodi}/roodi_grapher.rb +0 -0
  81. data/lib/{templates/awesome → metrics/roodi/template_awesome}/roodi.html.erb +0 -0
  82. data/lib/{templates/standard → metrics/roodi/template_standard}/roodi.html.erb +0 -0
  83. data/lib/{generators → metrics/saikuro}/saikuro.rb +4 -2
  84. data/lib/{base → metrics/saikuro}/saikuro_analyzer.rb +0 -0
  85. data/lib/{templates/awesome → metrics/saikuro/template_awesome}/saikuro.html.erb +0 -0
  86. data/lib/{templates/standard → metrics/saikuro/template_standard}/saikuro.html.erb +0 -0
  87. data/lib/{generators → metrics/stats}/stats.rb +0 -0
  88. data/lib/{base → metrics/stats}/stats_analyzer.rb +0 -0
  89. data/lib/{graphs → metrics/stats}/stats_grapher.rb +0 -0
  90. data/lib/{templates/awesome → metrics/stats/template_awesome}/stats.html.erb +0 -0
  91. data/lib/{templates/standard → metrics/stats/template_standard}/stats.html.erb +0 -0
  92. data/lib/{graphs → reporting/graphs}/engines/bluff.rb +0 -0
  93. data/lib/{graphs → reporting/graphs}/engines/gchart.rb +0 -0
  94. data/lib/{graphs → reporting/graphs}/grapher.rb +0 -0
  95. data/lib/{base → reporting}/report.rb +2 -0
  96. data/lib/{templates → reporting/templates}/awesome/awesome_template.rb +28 -7
  97. data/lib/{templates → reporting/templates}/awesome/css/buttons.css +0 -0
  98. data/lib/{templates → reporting/templates}/awesome/css/default.css +0 -0
  99. data/lib/{templates → reporting/templates}/awesome/css/integrity.css +0 -0
  100. data/lib/{templates → reporting/templates}/awesome/css/reset.css +0 -0
  101. data/lib/{templates → reporting/templates}/awesome/css/syntax.css +0 -0
  102. data/lib/{templates → reporting/templates}/awesome/index.html.erb +0 -0
  103. data/lib/{templates → reporting/templates}/awesome/layout.html.erb +0 -0
  104. data/lib/{templates → reporting/templates}/javascripts/bluff-min.js +0 -0
  105. data/lib/{templates → reporting/templates}/javascripts/excanvas.js +0 -0
  106. data/lib/{templates → reporting/templates}/javascripts/js-class.js +0 -0
  107. data/lib/{templates → reporting/templates}/standard/default.css +0 -0
  108. data/lib/{templates → reporting/templates}/standard/index.html.erb +0 -0
  109. data/lib/{templates → reporting/templates}/standard/standard_template.rb +3 -3
  110. data/lib/{base/scoring_strategies.rb → scoring_strategies.rb} +0 -0
  111. data/lib/tasks/metric_fu.rake +36 -0
  112. data/lib/version.rb +3 -0
  113. data/metric_fu.gemspec +65 -0
  114. data/spec/base/base_template_spec.rb +19 -2
  115. data/spec/base/configuration_spec.rb +4 -3
  116. data/spec/base/generator_spec.rb +2 -2
  117. data/spec/base/line_numbers_spec.rb +2 -2
  118. data/spec/base/location_spec.rb +127 -0
  119. data/spec/base/metric_analyzer_spec.rb +452 -0
  120. data/spec/base/ranking_spec.rb +42 -0
  121. data/spec/base/report_spec.rb +1 -1
  122. data/spec/base/table_spec.rb +36 -0
  123. data/spec/generators/hotspots_spec.rb +88 -0
  124. data/spec/generators/rails_best_practices_spec.rb +1 -1
  125. data/spec/generators/rcov_spec.rb +3 -3
  126. data/spec/generators/stats_spec.rb +1 -1
  127. data/spec/spec_helper.rb +4 -1
  128. metadata +466 -309
  129. data/README +0 -29
  130. data/tasks/metric_fu.rake +0 -22
@@ -0,0 +1,42 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
+
3
+ describe Ranking do
4
+
5
+ context "with many items" do
6
+
7
+ specify "it should give top x items" do
8
+ ranking = Ranking.new
9
+ ranking[:a] = 10
10
+ ranking[:b] = 50
11
+ ranking[:c] = 1
12
+ ranking.top(2).should == [:b,:a]
13
+ end
14
+
15
+ specify "if gives all items if param is not numeric" do
16
+ ranking = Ranking.new
17
+ ranking[:a] = 10
18
+ ranking[:b] = 50
19
+ ranking[:c] = 1
20
+ ranking.top(nil).should == [:b,:a, :c]
21
+ ranking.top(:all).should == [:b,:a, :c]
22
+ end
23
+
24
+ specify "lowest item is at 0 percentile" do
25
+ ranking = Ranking.new
26
+ ranking[:a] = 10
27
+ ranking[:b] = 50
28
+ ranking.percentile(:a).should == 0
29
+ end
30
+
31
+ specify "highest item is at high percentile" do
32
+ ranking = Ranking.new
33
+ ranking[:a] = 10
34
+ ranking[:b] = 50
35
+ ranking[:c] = 0
36
+ ranking[:d] = 5
37
+ ranking.percentile(:b).should == 0.75
38
+ end
39
+
40
+ end
41
+
42
+ end
@@ -43,7 +43,7 @@ describe MetricFu::Report do
43
43
  describe "#add" do
44
44
  it 'should add a passed hash to the report_hash instance variable' do
45
45
  report_type = mock('report_type')
46
- report_type.should_receive(:to_s).and_return('type')
46
+ report_type.should_receive(:to_s).any_number_of_times.and_return('type')
47
47
 
48
48
  report_inst = mock('report_inst')
49
49
  report_type.should_receive(:new).and_return(report_inst)
@@ -0,0 +1,36 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
+
3
+ describe Table do
4
+
5
+ context 'rows_with' do
6
+
7
+ specify 'can select rows based on an optimized key (metric)' do
8
+ table = Table.new(:column_names => %w{foo metric})
9
+ table << {'metric' => 'flay', 'foo' => 1}
10
+ table << {'metric' => 'flay', 'foo' => 2}
11
+ table << {'metric' => 'flog', 'foo' => 1}
12
+ table << {'metric' => 'saikuro', 'foo' => 2}
13
+ matching_rows = table.rows_with(:metric => 'flay')
14
+ matching_rows.length.should == 2
15
+ matching_rows.each do |row|
16
+ row.metric.should == 'flay'
17
+ end
18
+ end
19
+
20
+ specify 'can select on arbitrary (non-optimized) field' do
21
+ table = Table.new(:column_names => %w{foo baz})
22
+ table << {'baz' => 'str1', 'foo' => 1}
23
+ table << {'baz' => 'str2', 'foo' => 2}
24
+ table << {'baz' => 'str3', 'foo' => 1}
25
+ table << {'baz' => 'str4', 'foo' => 3}
26
+ matching_rows = table.rows_with(:foo => 1)
27
+ matching_rows.length.should == 2
28
+ matching_rows.each do |row|
29
+ row.foo.should == 1
30
+ end
31
+
32
+ end
33
+
34
+ end
35
+
36
+ end
@@ -0,0 +1,88 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
+
3
+ describe Hotspots do
4
+
5
+ describe "analyze method" do
6
+ before :each do
7
+ MetricFu::Configuration.run {}
8
+ File.stub!(:directory?).and_return(true)
9
+ @yaml =<<END
10
+ ---
11
+ :reek:
12
+ :matches:
13
+ - :file_path: lib/client/client.rb
14
+ :code_smells:
15
+ - :type: Large Class
16
+ :message: has at least 27 methods
17
+ :method: Devver::Client
18
+ - :type: Long Method
19
+ :message: has approx 6 statements
20
+ :method: Devver::Client#client_requested_sync
21
+ :flog:
22
+ :method_containers:
23
+ - :highest_score: 61.5870319141946
24
+ :path: /lib/client/client.rb
25
+ :methods:
26
+ Client#client_requested_sync:
27
+ :path: /lib/client/client.rb
28
+ :score: 37.9270319141946
29
+ :operators:
30
+ :+: 1.70000000000001
31
+ :/: 1.80000000000001
32
+ :method_at_line: 1.90000000000001
33
+ :puts: 1.70000000000001
34
+ :assignment: 33.0000000000001
35
+ :in_method?: 1.70000000000001
36
+ :message: 1.70000000000001
37
+ :branch: 12.6
38
+ :<<: 3.40000000000001
39
+ :each: 1.50000000000001
40
+ :lit_fixnum: 1.45
41
+ :raise: 1.80000000000001
42
+ :each_pair: 1.3
43
+ :*: 1.60000000000001
44
+ :to_f: 2.00000000000001
45
+ :each_with_index: 3.00000000000001
46
+ :[]: 22.3000000000001
47
+ :new: 1.60000000000001
48
+ :average_score: 11.1209009055421
49
+ :total_score: 1817.6
50
+ :name: Client#client_requested_sync
51
+ :churn:
52
+ :changes:
53
+ - :file_path: lib/client/client.rb
54
+ :times_changed: 54
55
+ - :file_path: lib/client/foo.rb
56
+ :times_changed: 52
57
+ END
58
+ end
59
+
60
+ it "should be empty on error" do
61
+ hotspots = MetricFu::Hotspots.new
62
+ hotspots.instance_variable_set(:@analyzer, nil)
63
+ result = hotspots.analyze
64
+ result.should == {}
65
+ end
66
+
67
+ it "should return yaml results" do
68
+ hotspots = MetricFu::Hotspots.new
69
+ analyzer = MetricAnalyzer.new(@yaml)
70
+ hotspots.instance_variable_set(:@analyzer, analyzer)
71
+ result = hotspots.analyze
72
+ expected = JSON.parse("{\"methods\":[{\"location\":{\"class_name\":\"Client\",\"method_name\":\"Client#client_requested_sync\",\"file_path\":\"lib/client/client.rb\",\"hash\":7919384682,\"simple_method_name\":\"#client_requested_sync\"},\"details\":{\"reek\":\"found 1 code smells\",\"flog\":\"complexity is 37.9\"}}],\"classes\":[{\"location\":{\"class_name\":\"Client\",\"method_name\":null,\"file_path\":\"lib/client/client.rb\",\"hash\":7995629750},\"details\":{\"reek\":\"found 2 code smells\",\"flog\":\"complexity is 37.9\"}}],\"files\":[{\"location\":{\"class_name\":null,\"method_name\":null,\"file_path\":\"lib/client/client.rb\",\"hash\":-5738801681},\"details\":{\"reek\":\"found 2 code smells\",\"flog\":\"complexity is 37.9\",\"churn\":\"detected high level of churn (changed 54 times)\"}},{\"location\":{\"class_name\":null,\"method_name\":null,\"file_path\":\"lib/client/foo.rb\",\"hash\":-7081271905},\"details\":{\"churn\":\"detected high level of churn (changed 52 times)\"}}]}")
73
+ compare_hashes(JSON.parse(hotspots.to_h[:hotspots].to_json), expected)
74
+ end
75
+
76
+ it "should put the changes into a hash" do
77
+ hotspots = MetricFu::Hotspots.new
78
+ analyzer = MetricAnalyzer.new(@yaml)
79
+ hotspots.instance_variable_set(:@analyzer, analyzer)
80
+ hotspots.analyze
81
+ expected = JSON.parse("{\"methods\":[{\"location\":{\"class_name\":\"Client\",\"method_name\":\"Client#client_requested_sync\",\"file_path\":\"lib/client/client.rb\",\"hash\":7919384682,\"simple_method_name\":\"#client_requested_sync\"},\"details\":{\"reek\":\"found 1 code smells\",\"flog\":\"complexity is 37.9\"}}],\"classes\":[{\"location\":{\"class_name\":\"Client\",\"method_name\":null,\"file_path\":\"lib/client/client.rb\",\"hash\":7995629750},\"details\":{\"reek\":\"found 2 code smells\",\"flog\":\"complexity is 37.9\"}}],\"files\":[{\"location\":{\"class_name\":null,\"method_name\":null,\"file_path\":\"lib/client/client.rb\",\"hash\":-5738801681},\"details\":{\"reek\":\"found 2 code smells\",\"flog\":\"complexity is 37.9\",\"churn\":\"detected high level of churn (changed 54 times)\"}},{\"location\":{\"class_name\":null,\"method_name\":null,\"file_path\":\"lib/client/foo.rb\",\"hash\":-7081271905},\"details\":{\"churn\":\"detected high level of churn (changed 52 times)\"}}]}")
82
+ compare_hashes(JSON.parse(hotspots.to_h[:hotspots].to_json), expected)
83
+ end
84
+ end
85
+ end
86
+ def compare_hashes(got,expected)
87
+ got.hash == expected.hash
88
+ end
@@ -16,7 +16,7 @@ describe RailsBestPractices do
16
16
  ./app/views/admin/testimonials/_form.html.erb:17 - replace instance variable with local variable
17
17
  ./app/controllers/admin/campaigns_controller.rb:24,45,68,85 - use before_filter for show,edit,update,destroy
18
18
 
19
- go to http://wiki.github.com/flyerhzm/rails_best_practices to see how to solve these errors.
19
+ go to http://wiki.github.com/railsbp/rails_best_practices to see how to solve these errors.
20
20
 
21
21
  Found 2 errors.
22
22
  HERE
@@ -115,7 +115,7 @@ lib/templates/awesome/awesome_template.rb
115
115
  !! @name = File.basename(Dir.pwd).gsub(/^\w+-|-\w+$/, "")
116
116
  !!
117
117
  !! # Copy Bluff javascripts to output directory
118
- !! Dir[File.join(this_directory, '..', 'javascripts', '*')].each do |f|
118
+ !! Dir[File.join(template_directory, '..', 'javascripts', '*')].each do |f|
119
119
  !! FileUtils.copy(f, File.join(MetricFu.output_directory, File.basename(f)))
120
120
  !! end
121
121
  !!
@@ -138,7 +138,7 @@ lib/templates/awesome/awesome_template.rb
138
138
  !! end
139
139
  !! end
140
140
 
141
- def this_directory
141
+ def template_directory
142
142
  !! File.dirname(__FILE__)
143
143
  !! end
144
144
  !! end
@@ -167,7 +167,7 @@ lib/templates/standard/standard_template.rb
167
167
  !! end
168
168
  !! end
169
169
 
170
- def this_directory
170
+ def template_directory
171
171
  !! File.dirname(__FILE__)
172
172
  !! end
173
173
  !! end
@@ -71,4 +71,4 @@ describe Stats do
71
71
  stats.to_h[:stats].should == "the_stats"
72
72
  end
73
73
  end
74
- end
74
+ end
data/spec/spec_helper.rb CHANGED
@@ -3,5 +3,8 @@ require 'spec/autorun'
3
3
  require 'date'
4
4
  require 'construct'
5
5
 
6
- require File.join(File.dirname(__FILE__), '/../lib/metric_fu.rb')
6
+ require File.expand_path File.join(File.dirname(__FILE__), '/../lib/metric_fu.rb')
7
7
  include MetricFu
8
+ def compare_paths(path1,path2)
9
+ File.join(MetricFu.root_dir,path1).should == File.join(MetricFu.root_dir,path2)
10
+ end
metadata CHANGED
@@ -1,354 +1,515 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: metric_fu
3
- version: !ruby/object:Gem::Version
4
- hash: 9
5
- prerelease: false
6
- segments:
7
- - 2
8
- - 1
9
- - 1
10
- version: 2.1.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.1.3.4
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Jake Scruggs
14
9
  - Sean Soper
15
10
  - Andre Arko
16
11
  - Petrik de Heus
17
12
  - Grant McInnes
18
13
  - Nick Quaranto
19
- - "\xC3\x89douard Bri\xC3\xA8re"
14
+ - Édouard Brière
20
15
  - Carl Youngblood
21
16
  - Richard Huang
22
17
  - Dan Mayer
18
+ - Benjamin Fleischer
23
19
  autorequire:
24
20
  bindir: bin
25
21
  cert_chain: []
26
-
27
- date: 2011-03-02 00:00:00 -06:00
28
- default_executable:
29
- dependencies:
30
- - !ruby/object:Gem::Dependency
22
+ date: 2012-12-28 00:00:00.000000000 Z
23
+ dependencies:
24
+ - !ruby/object:Gem::Dependency
31
25
  name: flay
32
- prerelease: false
33
- requirement: &id001 !ruby/object:Gem::Requirement
34
- none: false
35
- requirements:
36
- - - ">="
37
- - !ruby/object:Gem::Version
38
- hash: 29
39
- segments:
40
- - 1
41
- - 2
42
- - 1
26
+ requirement: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - '='
30
+ - !ruby/object:Gem::Version
43
31
  version: 1.2.1
44
32
  type: :runtime
45
- version_requirements: *id001
46
- - !ruby/object:Gem::Dependency
47
- name: flog
48
33
  prerelease: false
49
- requirement: &id002 !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- hash: 3
55
- segments:
56
- - 2
57
- - 3
58
- - 0
34
+ version_requirements: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - '='
38
+ - !ruby/object:Gem::Version
39
+ version: 1.2.1
40
+ - !ruby/object:Gem::Dependency
41
+ name: flog
42
+ requirement: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
59
47
  version: 2.3.0
60
48
  type: :runtime
61
- version_requirements: *id002
62
- - !ruby/object:Gem::Dependency
63
- name: rcov
64
49
  prerelease: false
65
- requirement: &id003 !ruby/object:Gem::Requirement
66
- none: false
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- hash: 5
71
- segments:
72
- - 0
73
- - 8
74
- - 3
75
- - 3
76
- version: 0.8.3.3
77
- type: :runtime
78
- version_requirements: *id003
79
- - !ruby/object:Gem::Dependency
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - '='
54
+ - !ruby/object:Gem::Version
55
+ version: 2.3.0
56
+ - !ruby/object:Gem::Dependency
80
57
  name: reek
81
- prerelease: false
82
- requirement: &id004 !ruby/object:Gem::Requirement
83
- none: false
84
- requirements:
85
- - - ">="
86
- - !ruby/object:Gem::Version
87
- hash: 19
88
- segments:
89
- - 1
90
- - 2
91
- - 6
92
- version: 1.2.6
58
+ requirement: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - '='
62
+ - !ruby/object:Gem::Version
63
+ version: 1.2.12
93
64
  type: :runtime
94
- version_requirements: *id004
95
- - !ruby/object:Gem::Dependency
96
- name: roodi
97
65
  prerelease: false
98
- requirement: &id005 !ruby/object:Gem::Requirement
99
- none: false
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- hash: 11
104
- segments:
105
- - 2
106
- - 1
107
- - 0
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - '='
70
+ - !ruby/object:Gem::Version
71
+ version: 1.2.12
72
+ - !ruby/object:Gem::Dependency
73
+ name: roodi
74
+ requirement: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - '='
78
+ - !ruby/object:Gem::Version
108
79
  version: 2.1.0
109
80
  type: :runtime
110
- version_requirements: *id005
111
- - !ruby/object:Gem::Dependency
112
- name: rails_best_practices
113
81
  prerelease: false
114
- requirement: &id006 !ruby/object:Gem::Requirement
115
- none: false
116
- requirements:
117
- - - ">="
118
- - !ruby/object:Gem::Version
119
- hash: 15
120
- segments:
121
- - 0
122
- - 6
123
- - 4
124
- version: 0.6.4
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - '='
86
+ - !ruby/object:Gem::Version
87
+ version: 2.1.0
88
+ - !ruby/object:Gem::Dependency
89
+ name: rails_best_practices
90
+ requirement: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: '0.6'
125
96
  type: :runtime
126
- version_requirements: *id006
127
- - !ruby/object:Gem::Dependency
128
- name: chronic
129
97
  prerelease: false
130
- requirement: &id007 !ruby/object:Gem::Requirement
98
+ version_requirements: !ruby/object:Gem::Requirement
131
99
  none: false
132
- requirements:
100
+ requirements:
133
101
  - - ~>
134
- - !ruby/object:Gem::Version
135
- hash: 19
136
- segments:
137
- - 0
138
- - 3
139
- - 0
140
- version: 0.3.0
141
- type: :runtime
142
- version_requirements: *id007
143
- - !ruby/object:Gem::Dependency
102
+ - !ruby/object:Gem::Version
103
+ version: '0.6'
104
+ - !ruby/object:Gem::Dependency
144
105
  name: churn
106
+ requirement: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - '='
110
+ - !ruby/object:Gem::Version
111
+ version: 0.0.7
112
+ type: :runtime
145
113
  prerelease: false
146
- requirement: &id008 !ruby/object:Gem::Requirement
147
- none: false
148
- requirements:
149
- - - ">="
150
- - !ruby/object:Gem::Version
151
- hash: 17
152
- segments:
153
- - 0
154
- - 0
155
- - 7
114
+ version_requirements: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - '='
118
+ - !ruby/object:Gem::Version
156
119
  version: 0.0.7
120
+ - !ruby/object:Gem::Dependency
121
+ name: sexp_processor
122
+ requirement: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ~>
126
+ - !ruby/object:Gem::Version
127
+ version: 3.0.3
157
128
  type: :runtime
158
- version_requirements: *id008
159
- - !ruby/object:Gem::Dependency
160
- name: Saikuro
161
129
  prerelease: false
162
- requirement: &id009 !ruby/object:Gem::Requirement
163
- none: false
164
- requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- hash: 19
168
- segments:
169
- - 1
170
- - 1
171
- - 0
172
- version: 1.1.0
130
+ version_requirements: !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ~>
134
+ - !ruby/object:Gem::Version
135
+ version: 3.0.3
136
+ - !ruby/object:Gem::Dependency
137
+ name: chronic
138
+ requirement: !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - '='
142
+ - !ruby/object:Gem::Version
143
+ version: 0.2.3
173
144
  type: :runtime
174
- version_requirements: *id009
175
- - !ruby/object:Gem::Dependency
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ none: false
148
+ requirements:
149
+ - - '='
150
+ - !ruby/object:Gem::Version
151
+ version: 0.2.3
152
+ - !ruby/object:Gem::Dependency
153
+ name: main
154
+ requirement: !ruby/object:Gem::Requirement
155
+ none: false
156
+ requirements:
157
+ - - '='
158
+ - !ruby/object:Gem::Version
159
+ version: 4.7.1
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
165
+ - - '='
166
+ - !ruby/object:Gem::Version
167
+ version: 4.7.1
168
+ - !ruby/object:Gem::Dependency
176
169
  name: activesupport
170
+ requirement: !ruby/object:Gem::Requirement
171
+ none: false
172
+ requirements:
173
+ - - ! '>='
174
+ - !ruby/object:Gem::Version
175
+ version: 2.0.0
176
+ type: :runtime
177
177
  prerelease: false
178
- requirement: &id010 !ruby/object:Gem::Requirement
179
- none: false
180
- requirements:
181
- - - ">="
182
- - !ruby/object:Gem::Version
183
- hash: 15
184
- segments:
185
- - 2
186
- - 0
187
- - 0
178
+ version_requirements: !ruby/object:Gem::Requirement
179
+ none: false
180
+ requirements:
181
+ - - ! '>='
182
+ - !ruby/object:Gem::Version
188
183
  version: 2.0.0
184
+ - !ruby/object:Gem::Dependency
185
+ name: coderay
186
+ requirement: !ruby/object:Gem::Requirement
187
+ none: false
188
+ requirements:
189
+ - - ! '>='
190
+ - !ruby/object:Gem::Version
191
+ version: '0'
189
192
  type: :runtime
190
- version_requirements: *id010
191
- - !ruby/object:Gem::Dependency
192
- name: syntax
193
193
  prerelease: false
194
- requirement: &id011 !ruby/object:Gem::Requirement
195
- none: false
196
- requirements:
197
- - - ">="
198
- - !ruby/object:Gem::Version
199
- hash: 3
200
- segments:
201
- - 0
202
- version: "0"
194
+ version_requirements: !ruby/object:Gem::Requirement
195
+ none: false
196
+ requirements:
197
+ - - ! '>='
198
+ - !ruby/object:Gem::Version
199
+ version: '0'
200
+ - !ruby/object:Gem::Dependency
201
+ name: fattr
202
+ requirement: !ruby/object:Gem::Requirement
203
+ none: false
204
+ requirements:
205
+ - - '='
206
+ - !ruby/object:Gem::Version
207
+ version: 2.2.1
203
208
  type: :runtime
204
- version_requirements: *id011
205
- - !ruby/object:Gem::Dependency
206
- name: rspec
207
209
  prerelease: false
208
- requirement: &id012 !ruby/object:Gem::Requirement
209
- none: false
210
- requirements:
211
- - - "="
212
- - !ruby/object:Gem::Version
213
- hash: 27
214
- segments:
215
- - 1
216
- - 3
217
- - 0
210
+ version_requirements: !ruby/object:Gem::Requirement
211
+ none: false
212
+ requirements:
213
+ - - '='
214
+ - !ruby/object:Gem::Version
215
+ version: 2.2.1
216
+ - !ruby/object:Gem::Dependency
217
+ name: arrayfields
218
+ requirement: !ruby/object:Gem::Requirement
219
+ none: false
220
+ requirements:
221
+ - - '='
222
+ - !ruby/object:Gem::Version
223
+ version: 4.7.4
224
+ type: :runtime
225
+ prerelease: false
226
+ version_requirements: !ruby/object:Gem::Requirement
227
+ none: false
228
+ requirements:
229
+ - - '='
230
+ - !ruby/object:Gem::Version
231
+ version: 4.7.4
232
+ - !ruby/object:Gem::Dependency
233
+ name: map
234
+ requirement: !ruby/object:Gem::Requirement
235
+ none: false
236
+ requirements:
237
+ - - '='
238
+ - !ruby/object:Gem::Version
239
+ version: 6.2.0
240
+ type: :runtime
241
+ prerelease: false
242
+ version_requirements: !ruby/object:Gem::Requirement
243
+ none: false
244
+ requirements:
245
+ - - '='
246
+ - !ruby/object:Gem::Version
247
+ version: 6.2.0
248
+ - !ruby/object:Gem::Dependency
249
+ name: bluff
250
+ requirement: !ruby/object:Gem::Requirement
251
+ none: false
252
+ requirements:
253
+ - - ! '>='
254
+ - !ruby/object:Gem::Version
255
+ version: '0'
256
+ type: :runtime
257
+ prerelease: false
258
+ version_requirements: !ruby/object:Gem::Requirement
259
+ none: false
260
+ requirements:
261
+ - - ! '>='
262
+ - !ruby/object:Gem::Version
263
+ version: '0'
264
+ - !ruby/object:Gem::Dependency
265
+ name: googlecharts
266
+ requirement: !ruby/object:Gem::Requirement
267
+ none: false
268
+ requirements:
269
+ - - ! '>='
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :runtime
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ none: false
276
+ requirements:
277
+ - - ! '>='
278
+ - !ruby/object:Gem::Version
279
+ version: '0'
280
+ - !ruby/object:Gem::Dependency
281
+ name: rcov
282
+ requirement: !ruby/object:Gem::Requirement
283
+ none: false
284
+ requirements:
285
+ - - ~>
286
+ - !ruby/object:Gem::Version
287
+ version: '0.8'
288
+ type: :runtime
289
+ prerelease: false
290
+ version_requirements: !ruby/object:Gem::Requirement
291
+ none: false
292
+ requirements:
293
+ - - ~>
294
+ - !ruby/object:Gem::Version
295
+ version: '0.8'
296
+ - !ruby/object:Gem::Dependency
297
+ name: japgolly-Saikuro
298
+ requirement: !ruby/object:Gem::Requirement
299
+ none: false
300
+ requirements:
301
+ - - ! '>='
302
+ - !ruby/object:Gem::Version
303
+ version: 1.1.1.0
304
+ type: :runtime
305
+ prerelease: false
306
+ version_requirements: !ruby/object:Gem::Requirement
307
+ none: false
308
+ requirements:
309
+ - - ! '>='
310
+ - !ruby/object:Gem::Version
311
+ version: 1.1.1.0
312
+ - !ruby/object:Gem::Dependency
313
+ name: rake
314
+ requirement: !ruby/object:Gem::Requirement
315
+ none: false
316
+ requirements:
317
+ - - <=
318
+ - !ruby/object:Gem::Version
319
+ version: 0.9.2
320
+ type: :development
321
+ prerelease: false
322
+ version_requirements: !ruby/object:Gem::Requirement
323
+ none: false
324
+ requirements:
325
+ - - <=
326
+ - !ruby/object:Gem::Version
327
+ version: 0.9.2
328
+ - !ruby/object:Gem::Dependency
329
+ name: rspec
330
+ requirement: !ruby/object:Gem::Requirement
331
+ none: false
332
+ requirements:
333
+ - - '='
334
+ - !ruby/object:Gem::Version
218
335
  version: 1.3.0
219
336
  type: :development
220
- version_requirements: *id012
221
- - !ruby/object:Gem::Dependency
222
- name: test-construct
223
337
  prerelease: false
224
- requirement: &id013 !ruby/object:Gem::Requirement
225
- none: false
226
- requirements:
227
- - - ">="
228
- - !ruby/object:Gem::Version
229
- hash: 31
230
- segments:
231
- - 1
232
- - 2
233
- - 0
338
+ version_requirements: !ruby/object:Gem::Requirement
339
+ none: false
340
+ requirements:
341
+ - - '='
342
+ - !ruby/object:Gem::Version
343
+ version: 1.3.0
344
+ - !ruby/object:Gem::Dependency
345
+ name: test-construct
346
+ requirement: !ruby/object:Gem::Requirement
347
+ none: false
348
+ requirements:
349
+ - - ! '>='
350
+ - !ruby/object:Gem::Version
234
351
  version: 1.2.0
235
352
  type: :development
236
- version_requirements: *id013
237
- - !ruby/object:Gem::Dependency
238
- name: googlecharts
239
353
  prerelease: false
240
- requirement: &id014 !ruby/object:Gem::Requirement
241
- none: false
242
- requirements:
243
- - - ">="
244
- - !ruby/object:Gem::Version
245
- hash: 3
246
- segments:
247
- - 0
248
- version: "0"
354
+ version_requirements: !ruby/object:Gem::Requirement
355
+ none: false
356
+ requirements:
357
+ - - ! '>='
358
+ - !ruby/object:Gem::Version
359
+ version: 1.2.0
360
+ - !ruby/object:Gem::Dependency
361
+ name: googlecharts
362
+ requirement: !ruby/object:Gem::Requirement
363
+ none: false
364
+ requirements:
365
+ - - ! '>='
366
+ - !ruby/object:Gem::Version
367
+ version: '0'
249
368
  type: :development
250
- version_requirements: *id014
251
- description: Code metrics from Flog, Flay, RCov, Saikuro, Churn, Reek, Roodi, Rails' stats task and Rails Best Practices
252
- email: jake.scruggs@gmail.com
253
- executables: []
254
-
369
+ prerelease: false
370
+ version_requirements: !ruby/object:Gem::Requirement
371
+ none: false
372
+ requirements:
373
+ - - ! '>='
374
+ - !ruby/object:Gem::Version
375
+ version: '0'
376
+ description: Code metrics from Flog, Flay, Simplecov-RCov, Saikuro, Churn, Reek, Roodi,
377
+ Rails' stats task and Rails Best Practices
378
+ email: github@benjaminfleischer.com
379
+ executables:
380
+ - metric_fu
255
381
  extensions: []
256
-
257
382
  extra_rdoc_files: []
258
-
259
- files:
260
- - README
383
+ files:
384
+ - .gitignore
385
+ - .travis.yml
386
+ - Gemfile
261
387
  - HISTORY
262
- - TODO
263
388
  - MIT-LICENSE
389
+ - Manifest.txt
390
+ - README.md
264
391
  - Rakefile
265
- - lib/base/base_template.rb
266
- - lib/base/churn_analyzer.rb
267
- - lib/base/code_issue.rb
268
- - lib/base/configuration.rb
269
- - lib/base/flay_analyzer.rb
270
- - lib/base/flog_analyzer.rb
271
- - lib/base/generator.rb
272
- - lib/base/graph.rb
273
- - lib/base/line_numbers.rb
274
- - lib/base/location.rb
275
- - lib/base/md5_tracker.rb
276
- - lib/base/metric_analyzer.rb
277
- - lib/base/ranking.rb
278
- - lib/base/rcov_analyzer.rb
279
- - lib/base/reek_analyzer.rb
280
- - lib/base/report.rb
281
- - lib/base/roodi_analyzer.rb
282
- - lib/base/saikuro_analyzer.rb
283
- - lib/base/scoring_strategies.rb
284
- - lib/base/stats_analyzer.rb
285
- - lib/base/table.rb
286
- - lib/generators/churn.rb
287
- - lib/generators/flay.rb
288
- - lib/generators/flog.rb
289
- - lib/generators/hotspots.rb
290
- - lib/generators/rails_best_practices.rb
291
- - lib/generators/rcov.rb
292
- - lib/generators/reek.rb
293
- - lib/generators/roodi.rb
294
- - lib/generators/saikuro.rb
295
- - lib/generators/stats.rb
296
- - lib/graphs/engines/bluff.rb
297
- - lib/graphs/engines/gchart.rb
298
- - lib/graphs/flay_grapher.rb
299
- - lib/graphs/flog_grapher.rb
300
- - lib/graphs/grapher.rb
301
- - lib/graphs/rails_best_practices_grapher.rb
302
- - lib/graphs/rcov_grapher.rb
303
- - lib/graphs/reek_grapher.rb
304
- - lib/graphs/roodi_grapher.rb
305
- - lib/graphs/stats_grapher.rb
392
+ - TODO
393
+ - bin/metric_fu
394
+ - config/roodi_config.yml
395
+ - home_page/back_all.jpg
396
+ - home_page/churn.gif
397
+ - home_page/flay.gif
398
+ - home_page/flog.gif
399
+ - home_page/footer.gif
400
+ - home_page/header.jpg
401
+ - home_page/hotspot.gif
402
+ - home_page/img09.gif
403
+ - home_page/index.html
404
+ - home_page/rcov.gif
405
+ - home_page/reek.gif
406
+ - home_page/roodi.gif
407
+ - home_page/saikuro.gif
408
+ - home_page/stats.gif
409
+ - home_page/styles.css
410
+ - home_page/title.gif
411
+ - home_page/title_back.gif
412
+ - lib/configuration.rb
413
+ - lib/data_structures/careful_array.rb
414
+ - lib/data_structures/code_issue.rb
415
+ - lib/data_structures/grouping.rb
416
+ - lib/data_structures/line_numbers.rb
417
+ - lib/data_structures/location.rb
418
+ - lib/data_structures/ranking.rb
419
+ - lib/data_structures/record.rb
420
+ - lib/data_structures/table.rb
421
+ - lib/errors/analysis_error.rb
422
+ - lib/initial_requires.rb
423
+ - lib/load_files.rb
424
+ - lib/logging/mf_debugger.rb
425
+ - lib/md5_tracker.rb
306
426
  - lib/metric_fu.rb
307
- - lib/templates/awesome/awesome_template.rb
308
- - lib/templates/awesome/churn.html.erb
309
- - lib/templates/awesome/css/buttons.css
310
- - lib/templates/awesome/css/default.css
311
- - lib/templates/awesome/css/integrity.css
312
- - lib/templates/awesome/css/reset.css
313
- - lib/templates/awesome/css/syntax.css
314
- - lib/templates/awesome/flay.html.erb
315
- - lib/templates/awesome/flog.html.erb
316
- - lib/templates/awesome/hotspots.html.erb
317
- - lib/templates/awesome/index.html.erb
318
- - lib/templates/awesome/layout.html.erb
319
- - lib/templates/awesome/rails_best_practices.html.erb
320
- - lib/templates/awesome/rcov.html.erb
321
- - lib/templates/awesome/reek.html.erb
322
- - lib/templates/awesome/roodi.html.erb
323
- - lib/templates/awesome/saikuro.html.erb
324
- - lib/templates/awesome/stats.html.erb
325
- - lib/templates/javascripts/bluff-min.js
326
- - lib/templates/javascripts/excanvas.js
327
- - lib/templates/javascripts/js-class.js
328
- - lib/templates/standard/churn.html.erb
329
- - lib/templates/standard/default.css
330
- - lib/templates/standard/flay.html.erb
331
- - lib/templates/standard/flog.html.erb
332
- - lib/templates/standard/hotspots.html.erb
333
- - lib/templates/standard/index.html.erb
334
- - lib/templates/standard/rails_best_practices.html.erb
335
- - lib/templates/standard/rcov.html.erb
336
- - lib/templates/standard/reek.html.erb
337
- - lib/templates/standard/roodi.html.erb
338
- - lib/templates/standard/saikuro.html.erb
339
- - lib/templates/standard/standard_template.rb
340
- - lib/templates/standard/stats.html.erb
341
- - tasks/metric_fu.rake
427
+ - lib/metrics/base_template.rb
428
+ - lib/metrics/churn/churn.rb
429
+ - lib/metrics/churn/churn_analyzer.rb
430
+ - lib/metrics/churn/template_awesome/churn.html.erb
431
+ - lib/metrics/churn/template_standard/churn.html.erb
432
+ - lib/metrics/flay/flay.rb
433
+ - lib/metrics/flay/flay_analyzer.rb
434
+ - lib/metrics/flay/flay_grapher.rb
435
+ - lib/metrics/flay/template_awesome/flay.html.erb
436
+ - lib/metrics/flay/template_standard/flay.html.erb
437
+ - lib/metrics/flog/flog.rb
438
+ - lib/metrics/flog/flog_analyzer.rb
439
+ - lib/metrics/flog/flog_grapher.rb
440
+ - lib/metrics/flog/template_awesome/flog.html.erb
441
+ - lib/metrics/flog/template_standard/flog.html.erb
442
+ - lib/metrics/generator.rb
443
+ - lib/metrics/graph.rb
444
+ - lib/metrics/hotspots/hotspots.rb
445
+ - lib/metrics/hotspots/template_awesome/hotspots.html.erb
446
+ - lib/metrics/hotspots/template_standard/hotspots.html.erb
447
+ - lib/metrics/metric_analyzer.rb
448
+ - lib/metrics/rails_best_practices/rails_best_practices.rb
449
+ - lib/metrics/rails_best_practices/rails_best_practices_grapher.rb
450
+ - lib/metrics/rails_best_practices/template_awesome/rails_best_practices.html.erb
451
+ - lib/metrics/rails_best_practices/template_standard/rails_best_practices.html.erb
452
+ - lib/metrics/rcov/rcov.rb
453
+ - lib/metrics/rcov/rcov_analyzer.rb
454
+ - lib/metrics/rcov/rcov_grapher.rb
455
+ - lib/metrics/rcov/template_awesome/rcov.html.erb
456
+ - lib/metrics/rcov/template_standard/rcov.html.erb
457
+ - lib/metrics/reek/reek.rb
458
+ - lib/metrics/reek/reek_analyzer.rb
459
+ - lib/metrics/reek/reek_grapher.rb
460
+ - lib/metrics/reek/template_awesome/reek.html.erb
461
+ - lib/metrics/reek/template_standard/reek.html.erb
462
+ - lib/metrics/roodi/roodi.rb
463
+ - lib/metrics/roodi/roodi_analyzer.rb
464
+ - lib/metrics/roodi/roodi_grapher.rb
465
+ - lib/metrics/roodi/template_awesome/roodi.html.erb
466
+ - lib/metrics/roodi/template_standard/roodi.html.erb
467
+ - lib/metrics/saikuro/saikuro.rb
468
+ - lib/metrics/saikuro/saikuro_analyzer.rb
469
+ - lib/metrics/saikuro/template_awesome/saikuro.html.erb
470
+ - lib/metrics/saikuro/template_standard/saikuro.html.erb
471
+ - lib/metrics/stats/stats.rb
472
+ - lib/metrics/stats/stats_analyzer.rb
473
+ - lib/metrics/stats/stats_grapher.rb
474
+ - lib/metrics/stats/template_awesome/stats.html.erb
475
+ - lib/metrics/stats/template_standard/stats.html.erb
476
+ - lib/reporting/graphs/engines/bluff.rb
477
+ - lib/reporting/graphs/engines/gchart.rb
478
+ - lib/reporting/graphs/grapher.rb
479
+ - lib/reporting/report.rb
480
+ - lib/reporting/templates/awesome/awesome_template.rb
481
+ - lib/reporting/templates/awesome/css/buttons.css
482
+ - lib/reporting/templates/awesome/css/default.css
483
+ - lib/reporting/templates/awesome/css/integrity.css
484
+ - lib/reporting/templates/awesome/css/reset.css
485
+ - lib/reporting/templates/awesome/css/syntax.css
486
+ - lib/reporting/templates/awesome/index.html.erb
487
+ - lib/reporting/templates/awesome/layout.html.erb
488
+ - lib/reporting/templates/javascripts/bluff-min.js
489
+ - lib/reporting/templates/javascripts/excanvas.js
490
+ - lib/reporting/templates/javascripts/js-class.js
491
+ - lib/reporting/templates/standard/default.css
492
+ - lib/reporting/templates/standard/index.html.erb
493
+ - lib/reporting/templates/standard/standard_template.rb
494
+ - lib/scoring_strategies.rb
495
+ - lib/tasks/metric_fu.rake
496
+ - lib/version.rb
497
+ - metric_fu.gemspec
342
498
  - spec/base/base_template_spec.rb
343
499
  - spec/base/configuration_spec.rb
344
500
  - spec/base/generator_spec.rb
345
501
  - spec/base/graph_spec.rb
346
502
  - spec/base/line_numbers_spec.rb
503
+ - spec/base/location_spec.rb
347
504
  - spec/base/md5_tracker_spec.rb
505
+ - spec/base/metric_analyzer_spec.rb
506
+ - spec/base/ranking_spec.rb
348
507
  - spec/base/report_spec.rb
508
+ - spec/base/table_spec.rb
349
509
  - spec/generators/churn_spec.rb
350
510
  - spec/generators/flay_spec.rb
351
511
  - spec/generators/flog_spec.rb
512
+ - spec/generators/hotspots_spec.rb
352
513
  - spec/generators/rails_best_practices_spec.rb
353
514
  - spec/generators/rcov_spec.rb
354
515
  - spec/generators/reek_spec.rb
@@ -376,51 +537,47 @@ files:
376
537
  - spec/resources/yml/metric_missing.yml
377
538
  - spec/spec.opts
378
539
  - spec/spec_helper.rb
379
- has_rdoc: true
380
- homepage: http://metric-fu.rubyforge.org/
381
- licenses: []
382
-
540
+ homepage: http://github.com/bf4/metric_fu
541
+ licenses:
542
+ - MIT
383
543
  post_install_message:
384
544
  rdoc_options: []
385
-
386
- require_paths:
545
+ require_paths:
387
546
  - lib
388
- required_ruby_version: !ruby/object:Gem::Requirement
547
+ required_ruby_version: !ruby/object:Gem::Requirement
389
548
  none: false
390
- requirements:
391
- - - ">="
392
- - !ruby/object:Gem::Version
393
- hash: 3
394
- segments:
395
- - 0
396
- version: "0"
397
- required_rubygems_version: !ruby/object:Gem::Requirement
549
+ requirements:
550
+ - - ! '>='
551
+ - !ruby/object:Gem::Version
552
+ version: 1.8.7
553
+ required_rubygems_version: !ruby/object:Gem::Requirement
398
554
  none: false
399
- requirements:
400
- - - ">="
401
- - !ruby/object:Gem::Version
402
- hash: 3
403
- segments:
404
- - 0
405
- version: "0"
555
+ requirements:
556
+ - - ! '>='
557
+ - !ruby/object:Gem::Version
558
+ version: 1.3.6
406
559
  requirements: []
407
-
408
560
  rubyforge_project:
409
- rubygems_version: 1.3.7
561
+ rubygems_version: 1.8.24
410
562
  signing_key:
411
563
  specification_version: 3
412
564
  summary: A fistful of code metrics, with awesome templates and graphs
413
- test_files:
565
+ test_files:
414
566
  - spec/base/base_template_spec.rb
415
567
  - spec/base/configuration_spec.rb
416
568
  - spec/base/generator_spec.rb
417
569
  - spec/base/graph_spec.rb
418
570
  - spec/base/line_numbers_spec.rb
571
+ - spec/base/location_spec.rb
419
572
  - spec/base/md5_tracker_spec.rb
573
+ - spec/base/metric_analyzer_spec.rb
574
+ - spec/base/ranking_spec.rb
420
575
  - spec/base/report_spec.rb
576
+ - spec/base/table_spec.rb
421
577
  - spec/generators/churn_spec.rb
422
578
  - spec/generators/flay_spec.rb
423
579
  - spec/generators/flog_spec.rb
580
+ - spec/generators/hotspots_spec.rb
424
581
  - spec/generators/rails_best_practices_spec.rb
425
582
  - spec/generators/rcov_spec.rb
426
583
  - spec/generators/reek_spec.rb