edouard-metric_fu 1.0.3.2 → 1.0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. data/lib/base/base_template.rb +134 -0
  2. data/lib/base/configuration.rb +187 -0
  3. data/lib/base/generator.rb +147 -0
  4. data/lib/base/md5_tracker.rb +52 -0
  5. data/lib/base/report.rb +100 -0
  6. data/lib/generators/churn.rb +86 -0
  7. data/lib/generators/flay.rb +29 -0
  8. data/lib/generators/flog.rb +127 -0
  9. data/lib/generators/rcov.rb +77 -0
  10. data/lib/generators/reek.rb +32 -0
  11. data/lib/generators/roodi.rb +24 -0
  12. data/lib/generators/saikuro.rb +211 -0
  13. data/lib/generators/stats.rb +43 -0
  14. data/lib/metric_fu.rb +21 -0
  15. data/lib/templates/awesome/awesome_template.rb +30 -0
  16. data/lib/templates/awesome/churn.html.erb +19 -0
  17. data/lib/templates/awesome/default.css +62 -0
  18. data/lib/templates/awesome/flay.html.erb +22 -0
  19. data/lib/templates/awesome/flog.html.erb +42 -0
  20. data/lib/templates/awesome/index.html.erb +28 -0
  21. data/lib/templates/awesome/rcov.html.erb +32 -0
  22. data/lib/templates/awesome/reek.html.erb +30 -0
  23. data/lib/templates/awesome/roodi.html.erb +17 -0
  24. data/lib/templates/awesome/saikuro.html.erb +71 -0
  25. data/lib/templates/awesome/stats.html.erb +41 -0
  26. data/lib/templates/standard/churn.html.erb +30 -0
  27. data/lib/templates/standard/default.css +64 -0
  28. data/lib/templates/standard/flay.html.erb +33 -0
  29. data/lib/templates/standard/flog.html.erb +52 -0
  30. data/lib/templates/standard/index.html.erb +38 -0
  31. data/lib/templates/standard/rcov.html.erb +42 -0
  32. data/lib/templates/standard/reek.html.erb +41 -0
  33. data/lib/templates/standard/roodi.html.erb +28 -0
  34. data/lib/templates/standard/saikuro.html.erb +83 -0
  35. data/lib/templates/standard/standard_template.rb +26 -0
  36. data/lib/templates/standard/stats.html.erb +54 -0
  37. data/tasks/metric_fu.rake +15 -0
  38. data/tasks/railroad.rake +39 -0
  39. data/vendor/saikuro/saikuro.rb +1214 -0
  40. metadata +40 -1
@@ -0,0 +1,26 @@
1
+ class StandardTemplate < MetricFu::Template
2
+
3
+
4
+ def write
5
+ report.each_pair do |section, contents|
6
+ if template_exists?(section)
7
+ create_instance_var(section, contents)
8
+ html = erbify(section)
9
+ fn = output_filename(section)
10
+ MetricFu.report.save_output(html, MetricFu.output_directory, fn)
11
+ end
12
+ end
13
+
14
+ # Instance variables we need should already be created from above
15
+ if template_exists?('index')
16
+ html = erbify('index')
17
+ fn = output_filename('index')
18
+ MetricFu.report.save_output(html, MetricFu.output_directory, fn)
19
+ end
20
+ end
21
+
22
+ def this_directory
23
+ File.dirname(__FILE__)
24
+ end
25
+ end
26
+
@@ -0,0 +1,54 @@
1
+ <html>
2
+ <head>
3
+ <title>Rake Stats Results</title>
4
+ <style>
5
+ <%= inline_css("default.css") %>
6
+ </style>
7
+ </head>
8
+
9
+ <body>
10
+ <h1>Rake Stats Results</h1>
11
+ <p>Rails rake stats results.</p>
12
+ <table>
13
+ <tr>
14
+ <th>Lines of Code</th>
15
+ <th>Lines of Test</th>
16
+ <th>Code to test ratio</th>
17
+ </tr>
18
+ <tr>
19
+ <td><%= @stats[:codeLOC] %></td>
20
+ <td><%= @stats[:testLOC] %></td>
21
+ <td>1:<%= @stats[:code_to_test_ratio] %></td>
22
+ </tr>
23
+ </table>
24
+
25
+ <table>
26
+ <tr>
27
+ <th>Name</th>
28
+ <th>Lines</th>
29
+ <th>LOC</th>
30
+ <th>Classes</th>
31
+ <th>Methods</th>
32
+ <th>Methods per class</th>
33
+ <th>LOC per method</th>
34
+ </tr>
35
+ <% count = 0 %>
36
+ <% @stats[:lines].each do |line| %>
37
+ <tr>
38
+ <td><%= line[:name] %></td>
39
+ <td><%= line[:lines] %></td>
40
+ <td><%= line[:loc] %></td>
41
+ <td><%= line[:classes] %></td>
42
+ <td><%= line[:methods] %></td>
43
+ <td><%= line[:methods_per_class] %></td>
44
+ <td><%= line[:loc_per_method] %></td>
45
+ </tr>
46
+ <% count += 1 %>
47
+ <% end %>
48
+ </table>
49
+
50
+ <p>Generated on <%= Time.now.localtime %></p>
51
+ </body>
52
+ </html>
53
+
54
+
@@ -0,0 +1,15 @@
1
+ require 'rake'
2
+ namespace :metrics do
3
+ desc "Generate all metrics reports"
4
+ task :all do
5
+ MetricFu::Configuration.run {}
6
+ MetricFu.metrics.each {|metric| MetricFu.report.add(metric) }
7
+ MetricFu.report.save_output(MetricFu.report.to_yaml,
8
+ MetricFu.base_directory,
9
+ 'report.yml')
10
+ MetricFu.report.save_templatized_report
11
+ if MetricFu.report.open_in_browser?
12
+ MetricFu.report.show_in_browser(MetricFu.output_directory)
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,39 @@
1
+ namespace :metrics do
2
+
3
+ RAILROAD_DIR = File.join(MetricFu::BASE_DIRECTORY, 'railroad')
4
+ RAILROAD_FILE = File.join(RAILROAD_DIR, 'index.html')
5
+
6
+ task :railroad => ['railroad:all'] do
7
+ end
8
+
9
+ namespace :railroad do
10
+
11
+ desc "Create all railroad reports"
12
+ task :all => [:models, :controllers, :aasm] do
13
+ #system("open #{RAILROAD_INDEX}") if PLATFORM['darwin']
14
+ end
15
+
16
+ desc "Create a railroad models report"
17
+ task :models do
18
+ #mkdir_p(RAILROAD_DIR) unless File.directory?(RAILROAD_DIR)
19
+ `railroad -M -a -m -l -v | neato -Tpng > #{File.join(MetricFu::BASE_DIRECTORY,'model-diagram.png')}`
20
+ #`echo "<a href=\"railroad/models.png\">Model diagram</a><br />" >> #{RAILROAD_FILE}`
21
+ end
22
+
23
+ desc "Create a railroad controllers report"
24
+ task :controllers do
25
+ #mkdir_p(RAILROAD_DIR) unless File.directory?(RAILROAD_DIR)
26
+ `railroad -C -l -v | neato -Tpng > #{File.join(MetricFu::BASE_DIRECTORY,'controller-diagram.png')}`
27
+ #`echo "<a href=\"railroad/controllers.png\">Controller diagram</a><br />" >> #{RAILROAD_FILE}`
28
+ end
29
+
30
+ desc "Create a railroad acts_as_state_machine report"
31
+ task :aasm do
32
+ #mkdir_p(RAILROAD_DIR) unless File.directory?(RAILROAD_DIR)
33
+ `railroad -A -l -v | neato -Tpng > #{File.join(MetricFu::BASE_DIRECTORY,'aasm-diagram.png')}`
34
+ #`echo "<a href=\"railroad/aasm.png\">State machine diagram</a><br />" >> #{RAILROAD_FILE}`
35
+ end
36
+
37
+ end
38
+
39
+ end