fastruby-metric_fu 5.0.0

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 (296) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +28 -0
  3. data/.metrics +3 -0
  4. data/.rspec +2 -0
  5. data/.rubocop.yml +15 -0
  6. data/.rubocop_todo.yml +69 -0
  7. data/.simplecov +74 -0
  8. data/.travis.yml +18 -0
  9. data/.yardopts +4 -0
  10. data/AUTHORS +12 -0
  11. data/CONTRIBUTING.md +47 -0
  12. data/CONTRIBUTORS +76 -0
  13. data/DEV.md +76 -0
  14. data/Gemfile +58 -0
  15. data/Guardfile +30 -0
  16. data/HISTORY.md +705 -0
  17. data/MIT-LICENSE +22 -0
  18. data/README.md +299 -0
  19. data/Rakefile +27 -0
  20. data/TODO.md +118 -0
  21. data/appveyor.yml +29 -0
  22. data/bin/metric_fu +9 -0
  23. data/bin/mf-cane +10 -0
  24. data/bin/mf-churn +10 -0
  25. data/bin/mf-flay +10 -0
  26. data/bin/mf-reek +10 -0
  27. data/bin/mf-roodi +10 -0
  28. data/bin/mf-saikuro +10 -0
  29. data/certs/bf4.pem +22 -0
  30. data/checksum/.gitkeep +0 -0
  31. data/checksum/metric_fu-4.10.0.gem.sha512 +1 -0
  32. data/checksum/metric_fu-4.11.0.gem.sha512 +1 -0
  33. data/checksum/metric_fu-4.11.1.gem.sha512 +1 -0
  34. data/checksum/metric_fu-4.11.2.gem.sha512 +1 -0
  35. data/checksum/metric_fu-4.11.3.gem.sha512 +1 -0
  36. data/checksum/metric_fu-4.11.4.gem.sha512 +1 -0
  37. data/checksum/metric_fu-4.12.0.gem.sha512 +1 -0
  38. data/checksum/metric_fu-4.2.0.gem.sha512 +1 -0
  39. data/checksum/metric_fu-4.2.1.gem.sha512 +1 -0
  40. data/checksum/metric_fu-4.3.0.gem.sha512 +1 -0
  41. data/checksum/metric_fu-4.3.1.gem.sha512 +1 -0
  42. data/checksum/metric_fu-4.4.0.gem.sha512 +1 -0
  43. data/checksum/metric_fu-4.4.1.gem.sha512 +1 -0
  44. data/checksum/metric_fu-4.4.2.gem.sha512 +1 -0
  45. data/checksum/metric_fu-4.4.3.gem.sha512 +1 -0
  46. data/checksum/metric_fu-4.4.4.gem.sha512 +1 -0
  47. data/checksum/metric_fu-4.5.0.gem.sha512 +1 -0
  48. data/checksum/metric_fu-4.5.1.gem.sha512 +1 -0
  49. data/checksum/metric_fu-4.5.2.gem.sha512 +1 -0
  50. data/checksum/metric_fu-4.6.0.gem.sha512 +1 -0
  51. data/checksum/metric_fu-4.7.0.gem.sha512 +1 -0
  52. data/checksum/metric_fu-4.7.1.gem.sha512 +1 -0
  53. data/checksum/metric_fu-4.7.2.gem.sha512 +1 -0
  54. data/checksum/metric_fu-4.7.3.gem.sha512 +1 -0
  55. data/checksum/metric_fu-4.7.4.gem.sha512 +1 -0
  56. data/checksum/metric_fu-4.8.0.gem.sha512 +1 -0
  57. data/checksum/metric_fu-4.9.0.gem.sha512 +1 -0
  58. data/config/roodi_config.yml +22 -0
  59. data/config/rubocop.yml +269 -0
  60. data/gem_tasks/build.rake +197 -0
  61. data/gem_tasks/rubocop.rake +10 -0
  62. data/gem_tasks/usage_test.rake +19 -0
  63. data/gem_tasks/yard.rake +24 -0
  64. data/lib/metric_fu.rb +151 -0
  65. data/lib/metric_fu/calculate.rb +10 -0
  66. data/lib/metric_fu/cli/client.rb +26 -0
  67. data/lib/metric_fu/cli/helper.rb +80 -0
  68. data/lib/metric_fu/cli/parser.rb +138 -0
  69. data/lib/metric_fu/configuration.rb +150 -0
  70. data/lib/metric_fu/constantize.rb +57 -0
  71. data/lib/metric_fu/data_structures/line_numbers.rb +112 -0
  72. data/lib/metric_fu/data_structures/location.rb +110 -0
  73. data/lib/metric_fu/data_structures/sexp_node.rb +107 -0
  74. data/lib/metric_fu/environment.rb +129 -0
  75. data/lib/metric_fu/errors/analysis_error.rb +4 -0
  76. data/lib/metric_fu/formatter.rb +40 -0
  77. data/lib/metric_fu/formatter/html.rb +96 -0
  78. data/lib/metric_fu/formatter/syntax.rb +45 -0
  79. data/lib/metric_fu/formatter/yaml.rb +18 -0
  80. data/lib/metric_fu/gem_run.rb +70 -0
  81. data/lib/metric_fu/gem_version.rb +92 -0
  82. data/lib/metric_fu/generator.rb +135 -0
  83. data/lib/metric_fu/io.rb +132 -0
  84. data/lib/metric_fu/loader.rb +105 -0
  85. data/lib/metric_fu/logger.rb +62 -0
  86. data/lib/metric_fu/logging/mf_debugger.rb +23 -0
  87. data/lib/metric_fu/metric.rb +143 -0
  88. data/lib/metric_fu/metrics/cane/generator.rb +95 -0
  89. data/lib/metric_fu/metrics/cane/grapher.rb +37 -0
  90. data/lib/metric_fu/metrics/cane/metric.rb +34 -0
  91. data/lib/metric_fu/metrics/cane/report.html.erb +87 -0
  92. data/lib/metric_fu/metrics/cane/violations.rb +46 -0
  93. data/lib/metric_fu/metrics/churn/generator.rb +37 -0
  94. data/lib/metric_fu/metrics/churn/hotspot.rb +43 -0
  95. data/lib/metric_fu/metrics/churn/metric.rb +29 -0
  96. data/lib/metric_fu/metrics/churn/report.html.erb +58 -0
  97. data/lib/metric_fu/metrics/flay/generator.rb +51 -0
  98. data/lib/metric_fu/metrics/flay/grapher.rb +37 -0
  99. data/lib/metric_fu/metrics/flay/hotspot.rb +52 -0
  100. data/lib/metric_fu/metrics/flay/metric.rb +28 -0
  101. data/lib/metric_fu/metrics/flay/report.html.erb +29 -0
  102. data/lib/metric_fu/metrics/flog/generator.rb +113 -0
  103. data/lib/metric_fu/metrics/flog/grapher.rb +77 -0
  104. data/lib/metric_fu/metrics/flog/hotspot.rb +46 -0
  105. data/lib/metric_fu/metrics/flog/metric.rb +29 -0
  106. data/lib/metric_fu/metrics/flog/report.html.erb +50 -0
  107. data/lib/metric_fu/metrics/hotspots/analysis/analyzed_problems.rb +34 -0
  108. data/lib/metric_fu/metrics/hotspots/analysis/analyzer_tables.rb +114 -0
  109. data/lib/metric_fu/metrics/hotspots/analysis/grouping.rb +23 -0
  110. data/lib/metric_fu/metrics/hotspots/analysis/groupings.rb +12 -0
  111. data/lib/metric_fu/metrics/hotspots/analysis/problems.rb +20 -0
  112. data/lib/metric_fu/metrics/hotspots/analysis/ranked_problem_location.rb +70 -0
  113. data/lib/metric_fu/metrics/hotspots/analysis/ranking.rb +29 -0
  114. data/lib/metric_fu/metrics/hotspots/analysis/rankings.rb +91 -0
  115. data/lib/metric_fu/metrics/hotspots/analysis/record.rb +32 -0
  116. data/lib/metric_fu/metrics/hotspots/analysis/scoring_strategies.rb +24 -0
  117. data/lib/metric_fu/metrics/hotspots/analysis/table.rb +67 -0
  118. data/lib/metric_fu/metrics/hotspots/generator.rb +40 -0
  119. data/lib/metric_fu/metrics/hotspots/hotspot.rb +87 -0
  120. data/lib/metric_fu/metrics/hotspots/hotspot_analyzer.rb +61 -0
  121. data/lib/metric_fu/metrics/hotspots/metric.rb +20 -0
  122. data/lib/metric_fu/metrics/hotspots/report.html.erb +60 -0
  123. data/lib/metric_fu/metrics/rails_best_practices/generator.rb +47 -0
  124. data/lib/metric_fu/metrics/rails_best_practices/grapher.rb +38 -0
  125. data/lib/metric_fu/metrics/rails_best_practices/metric.rb +31 -0
  126. data/lib/metric_fu/metrics/rails_best_practices/report.html.erb +22 -0
  127. data/lib/metric_fu/metrics/rcov/external_client.rb +22 -0
  128. data/lib/metric_fu/metrics/rcov/generator.rb +75 -0
  129. data/lib/metric_fu/metrics/rcov/grapher.rb +37 -0
  130. data/lib/metric_fu/metrics/rcov/hotspot.rb +46 -0
  131. data/lib/metric_fu/metrics/rcov/metric.rb +61 -0
  132. data/lib/metric_fu/metrics/rcov/rcov_format_coverage.rb +149 -0
  133. data/lib/metric_fu/metrics/rcov/rcov_line.rb +48 -0
  134. data/lib/metric_fu/metrics/rcov/report.html.erb +40 -0
  135. data/lib/metric_fu/metrics/rcov/simplecov_formatter.rb +74 -0
  136. data/lib/metric_fu/metrics/reek/generator.rb +94 -0
  137. data/lib/metric_fu/metrics/reek/grapher.rb +55 -0
  138. data/lib/metric_fu/metrics/reek/hotspot.rb +95 -0
  139. data/lib/metric_fu/metrics/reek/metric.rb +26 -0
  140. data/lib/metric_fu/metrics/reek/report.html.erb +35 -0
  141. data/lib/metric_fu/metrics/roodi/generator.rb +40 -0
  142. data/lib/metric_fu/metrics/roodi/grapher.rb +37 -0
  143. data/lib/metric_fu/metrics/roodi/hotspot.rb +39 -0
  144. data/lib/metric_fu/metrics/roodi/metric.rb +24 -0
  145. data/lib/metric_fu/metrics/roodi/report.html.erb +22 -0
  146. data/lib/metric_fu/metrics/saikuro/generator.rb +145 -0
  147. data/lib/metric_fu/metrics/saikuro/hotspot.rb +51 -0
  148. data/lib/metric_fu/metrics/saikuro/metric.rb +31 -0
  149. data/lib/metric_fu/metrics/saikuro/parsing_element.rb +37 -0
  150. data/lib/metric_fu/metrics/saikuro/report.html.erb +71 -0
  151. data/lib/metric_fu/metrics/saikuro/scratch_file.rb +108 -0
  152. data/lib/metric_fu/metrics/stats/generator.rb +82 -0
  153. data/lib/metric_fu/metrics/stats/grapher.rb +40 -0
  154. data/lib/metric_fu/metrics/stats/hotspot.rb +35 -0
  155. data/lib/metric_fu/metrics/stats/metric.rb +28 -0
  156. data/lib/metric_fu/metrics/stats/report.html.erb +44 -0
  157. data/lib/metric_fu/reporter.rb +37 -0
  158. data/lib/metric_fu/reporting/graphs/graph.rb +69 -0
  159. data/lib/metric_fu/reporting/graphs/grapher.rb +66 -0
  160. data/lib/metric_fu/reporting/result.rb +59 -0
  161. data/lib/metric_fu/run.rb +82 -0
  162. data/lib/metric_fu/tasks/metric_fu.rake +54 -0
  163. data/lib/metric_fu/templates/_graph.html.erb +2 -0
  164. data/lib/metric_fu/templates/_report_footer.html.erb +1 -0
  165. data/lib/metric_fu/templates/configuration.rb +25 -0
  166. data/lib/metric_fu/templates/css/bluff.css +15 -0
  167. data/lib/metric_fu/templates/css/buttons.css +82 -0
  168. data/lib/metric_fu/templates/css/default.css +43 -0
  169. data/lib/metric_fu/templates/css/integrity.css +337 -0
  170. data/lib/metric_fu/templates/css/rcov.css +32 -0
  171. data/lib/metric_fu/templates/css/reset.css +7 -0
  172. data/lib/metric_fu/templates/css/syntax.css +19 -0
  173. data/lib/metric_fu/templates/index.html.erb +10 -0
  174. data/lib/metric_fu/templates/javascripts/bluff-min.js +1 -0
  175. data/lib/metric_fu/templates/javascripts/bluff_graph.js +15 -0
  176. data/lib/metric_fu/templates/javascripts/excanvas.js +35 -0
  177. data/lib/metric_fu/templates/javascripts/highcharts.js +294 -0
  178. data/lib/metric_fu/templates/javascripts/highcharts_graph.js +38 -0
  179. data/lib/metric_fu/templates/javascripts/js-class.js +1 -0
  180. data/lib/metric_fu/templates/javascripts/standalone-framework.js +17 -0
  181. data/lib/metric_fu/templates/javascripts/utils.js +9 -0
  182. data/lib/metric_fu/templates/layout.html.erb +37 -0
  183. data/lib/metric_fu/templates/metrics_template.rb +80 -0
  184. data/lib/metric_fu/templates/report.html.erb +31 -0
  185. data/lib/metric_fu/templates/report.rb +41 -0
  186. data/lib/metric_fu/templates/template.rb +244 -0
  187. data/lib/metric_fu/utility.rb +79 -0
  188. data/lib/metric_fu/version.rb +9 -0
  189. data/metric_fu.gemspec +71 -0
  190. data/spec/capture_warnings.rb +55 -0
  191. data/spec/cli/helper_spec.rb +165 -0
  192. data/spec/dummy/.gitignore +1 -0
  193. data/spec/dummy/.gitkeep +0 -0
  194. data/spec/dummy/lib/.gitkeep +0 -0
  195. data/spec/dummy/lib/bad_encoding.rb +6 -0
  196. data/spec/dummy/spec/.gitkeep +0 -0
  197. data/spec/fixtures/20090630.yml +7922 -0
  198. data/spec/fixtures/coverage-153.rb +11 -0
  199. data/spec/fixtures/coverage.rb +13 -0
  200. data/spec/fixtures/exit0.sh +3 -0
  201. data/spec/fixtures/exit1.sh +3 -0
  202. data/spec/fixtures/hotspots/flog.yml +86 -0
  203. data/spec/fixtures/hotspots/generator.yml +47 -0
  204. data/spec/fixtures/hotspots/generator_analysis.yml +53 -0
  205. data/spec/fixtures/hotspots/reek.yml +14 -0
  206. data/spec/fixtures/hotspots/roodi.yml +13 -0
  207. data/spec/fixtures/hotspots/saikuro.yml +27 -0
  208. data/spec/fixtures/hotspots/several_metrics.yml +47 -0
  209. data/spec/fixtures/hotspots/stats.yml +4 -0
  210. data/spec/fixtures/hotspots/three_metrics_on_same_file.yml +36 -0
  211. data/spec/fixtures/line_numbers/foo.rb +33 -0
  212. data/spec/fixtures/line_numbers/module.rb +11 -0
  213. data/spec/fixtures/line_numbers/module_surrounds_class.rb +15 -0
  214. data/spec/fixtures/line_numbers/two_classes.rb +11 -0
  215. data/spec/fixtures/metric_missing.yml +1 -0
  216. data/spec/fixtures/rcov_output.txt +135 -0
  217. data/spec/fixtures/saikuro/app/controllers/sessions_controller.rb_cyclo.html +10 -0
  218. data/spec/fixtures/saikuro/app/controllers/users_controller.rb_cyclo.html +16 -0
  219. data/spec/fixtures/saikuro/index_cyclo.html +155 -0
  220. data/spec/fixtures/saikuro_sfiles/thing.rb_cyclo.html +11 -0
  221. data/spec/metric_fu/calculate_spec.rb +21 -0
  222. data/spec/metric_fu/configuration_spec.rb +90 -0
  223. data/spec/metric_fu/data_structures/line_numbers_spec.rb +63 -0
  224. data/spec/metric_fu/data_structures/location_spec.rb +110 -0
  225. data/spec/metric_fu/formatter/configuration_spec.rb +44 -0
  226. data/spec/metric_fu/formatter/html_spec.rb +138 -0
  227. data/spec/metric_fu/formatter/yaml_spec.rb +61 -0
  228. data/spec/metric_fu/formatter_spec.rb +49 -0
  229. data/spec/metric_fu/gem_version_spec.rb +12 -0
  230. data/spec/metric_fu/generator_spec.rb +130 -0
  231. data/spec/metric_fu/loader_spec.rb +13 -0
  232. data/spec/metric_fu/metric_spec.rb +46 -0
  233. data/spec/metric_fu/metrics/cane/configuration_spec.rb +22 -0
  234. data/spec/metric_fu/metrics/cane/generator_spec.rb +184 -0
  235. data/spec/metric_fu/metrics/churn/configuration_spec.rb +13 -0
  236. data/spec/metric_fu/metrics/churn/generator_spec.rb +64 -0
  237. data/spec/metric_fu/metrics/flay/configuration_spec.rb +13 -0
  238. data/spec/metric_fu/metrics/flay/generator_spec.rb +105 -0
  239. data/spec/metric_fu/metrics/flay/grapher_spec.rb +57 -0
  240. data/spec/metric_fu/metrics/flog/configuration_spec.rb +18 -0
  241. data/spec/metric_fu/metrics/flog/generator_spec.rb +77 -0
  242. data/spec/metric_fu/metrics/flog/grapher_spec.rb +107 -0
  243. data/spec/metric_fu/metrics/hotspots/analysis/analyzed_problems_spec.rb +104 -0
  244. data/spec/metric_fu/metrics/hotspots/analysis/analyzer_tables_spec.rb +71 -0
  245. data/spec/metric_fu/metrics/hotspots/analysis/ranking_spec.rb +30 -0
  246. data/spec/metric_fu/metrics/hotspots/analysis/rankings_spec.rb +97 -0
  247. data/spec/metric_fu/metrics/hotspots/analysis/table_spec.rb +6 -0
  248. data/spec/metric_fu/metrics/hotspots/generator_spec.rb +46 -0
  249. data/spec/metric_fu/metrics/hotspots/hotspot_analyzer_spec.rb +10 -0
  250. data/spec/metric_fu/metrics/hotspots/hotspot_spec.rb +16 -0
  251. data/spec/metric_fu/metrics/rails_best_practices/configuration_spec.rb +55 -0
  252. data/spec/metric_fu/metrics/rails_best_practices/generator_spec.rb +33 -0
  253. data/spec/metric_fu/metrics/rails_best_practices/grapher_spec.rb +62 -0
  254. data/spec/metric_fu/metrics/rcov/configuration_spec.rb +28 -0
  255. data/spec/metric_fu/metrics/rcov/generator_spec.rb +22 -0
  256. data/spec/metric_fu/metrics/rcov/grapher_spec.rb +57 -0
  257. data/spec/metric_fu/metrics/rcov/hotspot_spec.rb +20 -0
  258. data/spec/metric_fu/metrics/rcov/rcov_line_spec.rb +89 -0
  259. data/spec/metric_fu/metrics/rcov/simplecov_formatter_spec.rb +67 -0
  260. data/spec/metric_fu/metrics/reek/configuration_spec.rb +13 -0
  261. data/spec/metric_fu/metrics/reek/generator_spec.rb +203 -0
  262. data/spec/metric_fu/metrics/reek/grapher_spec.rb +66 -0
  263. data/spec/metric_fu/metrics/roodi/configuration_spec.rb +14 -0
  264. data/spec/metric_fu/metrics/roodi/generator_spec.rb +82 -0
  265. data/spec/metric_fu/metrics/roodi/grapher_spec.rb +57 -0
  266. data/spec/metric_fu/metrics/saikuro/configuration_spec.rb +25 -0
  267. data/spec/metric_fu/metrics/saikuro/generator_spec.rb +71 -0
  268. data/spec/metric_fu/metrics/stats/generator_spec.rb +96 -0
  269. data/spec/metric_fu/metrics/stats/grapher_spec.rb +69 -0
  270. data/spec/metric_fu/reporter_spec.rb +41 -0
  271. data/spec/metric_fu/reporting/graphs/graph_spec.rb +44 -0
  272. data/spec/metric_fu/reporting/graphs/grapher_spec.rb +24 -0
  273. data/spec/metric_fu/reporting/result_spec.rb +50 -0
  274. data/spec/metric_fu/run_spec.rb +197 -0
  275. data/spec/metric_fu/templates/configuration_spec.rb +51 -0
  276. data/spec/metric_fu/templates/metrics_template_spec.rb +11 -0
  277. data/spec/metric_fu/templates/report_spec.rb +15 -0
  278. data/spec/metric_fu/templates/template_spec.rb +233 -0
  279. data/spec/metric_fu/utility_spec.rb +12 -0
  280. data/spec/metric_fu_spec.rb +52 -0
  281. data/spec/quality_spec.rb +114 -0
  282. data/spec/shared/configured.rb +45 -0
  283. data/spec/shared/test_coverage.rb +95 -0
  284. data/spec/spec_helper.rb +46 -0
  285. data/spec/support/.metrics +4 -0
  286. data/spec/support/deferred_garbaged_collection.rb +33 -0
  287. data/spec/support/helper_methods.rb +32 -0
  288. data/spec/support/matcher_create_file.rb +37 -0
  289. data/spec/support/matcher_create_files.rb +43 -0
  290. data/spec/support/samples/reek/alfa.rb +1 -0
  291. data/spec/support/suite.rb +26 -0
  292. data/spec/support/test_fixtures.rb +37 -0
  293. data/spec/support/timeout.rb +7 -0
  294. data/spec/support/usage_test.rb +150 -0
  295. data/spec/usage_test_spec.rb +93 -0
  296. metadata +735 -0
@@ -0,0 +1,11 @@
1
+ # from https://github.com/metricfu/metric_fu/issues/153
2
+ class A
3
+ def m(arg1)
4
+ p "this is my method" # Assume that none of the line covered in this method
5
+ if arg1 > 5
6
+ p "more than 5"
7
+ else
8
+ p "not more than 5"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ class SomeClass
2
+ def method_1
3
+ 1 + 1
4
+ end
5
+
6
+ def method_2(value)
7
+ value * value
8
+ end
9
+
10
+ def method_3
11
+ "über"
12
+ end
13
+ end
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bash
2
+ which ruby
3
+ exit 0
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bash
2
+ which ruby
3
+ exit 1
@@ -0,0 +1,86 @@
1
+ ---
2
+ :flog:
3
+ :method_containers:
4
+ - :highest_score: 85.5481735632041
5
+ :path: ""
6
+ :methods:
7
+ main#none:
8
+ :path:
9
+ :score: 85.5481735632041
10
+ :operators:
11
+ :+: 9.10000000000001
12
+ :assignment: 11.6000000000001
13
+ :require: 38.5000000000002
14
+ :branch: 8.80000000000009
15
+ :join: 20.0000000000002
16
+ :each: 6.60000000000007
17
+ :[]: 7.80000000000007
18
+ :task_defined?: 1.10000000000001
19
+ :load: 1.20000000000001
20
+ :average_score: 85.5481735632041
21
+ :total_score: 85.5481735632041
22
+ :name: main
23
+ - :highest_score: 61.5870319141946
24
+ :path: lib/generators/rcov.rb
25
+ :methods:
26
+ Rcov#add_method_data:
27
+ :path: lib/generators/rcov.rb:57
28
+ :score: 61.5870319141946
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
+ Rcov#analyze:
49
+ :path: lib/generators/rcov.rb:34
50
+ :score: 19.1504569136092
51
+ :operators:
52
+ :+: 1.40000000000001
53
+ :metric_directory: 1.6
54
+ :assignment: 9.10000000000004
55
+ :assemble_files: 1.3
56
+ :branch: 1.3
57
+ :open: 1.5
58
+ :shift: 1.3
59
+ :split: 1.3
60
+ :rcov: 3.10000000000001
61
+ :add_coverage_percentage: 1.3
62
+ :read: 1.3
63
+ :[]: 2.70000000000001
64
+ - :highest_score: 60.0573892206447
65
+ :path: lib/base/metric_analyzer.rb
66
+ :methods:
67
+ HotspotAnalyzer#grouping_key:
68
+ :path: lib/base/metric_analyzer.rb:117
69
+ :score: 2.6
70
+ :operators:
71
+ :inspect: 1.3
72
+ :object_id: 1.3
73
+ HotspotAnalyzer#fix_row_file_path!:
74
+ :path: lib/base/metric_analyzer.rb:148
75
+ :score: 20.2743680542699
76
+ :operators:
77
+ :assignment: 10.0
78
+ :include?: 3.1
79
+ :branch: 7.20000000000001
80
+ :detect: 1.5
81
+ :file_paths: 1.7
82
+ :==: 3.1
83
+ :to_s: 1.3
84
+ :[]: 5.40000000000001
85
+ :average_score: 27.8909176873585
86
+ :total_score: 195.23642381151
@@ -0,0 +1,47 @@
1
+ ---
2
+ :reek:
3
+ :matches:
4
+ - :file_path: lib/client/client.rb:42
5
+ :code_smells:
6
+ - :type: Large Class
7
+ :message: has at least 27 methods
8
+ :method: Devver::Client
9
+ - :type: Long Method
10
+ :message: has approx 6 statements
11
+ :method: Devver::Client#client_requested_sync
12
+ :flog:
13
+ :method_containers:
14
+ - :highest_score: 61.5870319141946
15
+ :path: /lib/client/client.rb
16
+ :methods:
17
+ Client#client_requested_sync:
18
+ :path: /lib/client/client.rb:42
19
+ :score: 37.9270319141946
20
+ :operators:
21
+ :+: 1.70000000000001
22
+ :/: 1.80000000000001
23
+ :method_at_line: 1.90000000000001
24
+ :puts: 1.70000000000001
25
+ :assignment: 33.0000000000001
26
+ :in_method?: 1.70000000000001
27
+ :message: 1.70000000000001
28
+ :branch: 12.6
29
+ :<<: 3.40000000000001
30
+ :each: 1.50000000000001
31
+ :lit_fixnum: 1.45
32
+ :raise: 1.80000000000001
33
+ :each_pair: 1.3
34
+ :*: 1.60000000000001
35
+ :to_f: 2.00000000000001
36
+ :each_with_index: 3.00000000000001
37
+ :[]: 22.3000000000001
38
+ :new: 1.60000000000001
39
+ :average_score: 11.1209009055421
40
+ :total_score: 1817.6
41
+ :name: Client#client_requested_sync
42
+ :churn:
43
+ :changes:
44
+ - :file_path: lib/client/client.rb
45
+ :times_changed: 54
46
+ - :file_path: lib/client/foo.rb
47
+ :times_changed: 52
@@ -0,0 +1,53 @@
1
+ ---
2
+ files:
3
+ - location:
4
+ class_name:
5
+ method_name:
6
+ file_path: lib/client/client.rb:42
7
+ file_name: lib/client/client.rb
8
+ line_number: '42'
9
+ hash_key: '["lib/client/client.rb:42", nil, nil]'
10
+ details:
11
+ flog: complexity is 37.9
12
+ reek: found 2 code smells
13
+ - location:
14
+ class_name:
15
+ method_name:
16
+ file_path: lib/client/client.rb
17
+ file_name: lib/client/client.rb
18
+ line_number:
19
+ hash_key: '["lib/client/client.rb", nil, nil]'
20
+ details:
21
+ churn: detected high level of churn (changed 54 times)
22
+ - location:
23
+ class_name:
24
+ method_name:
25
+ file_path: lib/client/foo.rb
26
+ file_name: lib/client/foo.rb
27
+ line_number:
28
+ hash_key: '["lib/client/foo.rb", nil, nil]'
29
+ details:
30
+ churn: detected high level of churn (changed 52 times)
31
+ classes:
32
+ - location:
33
+ class_name: Client
34
+ method_name:
35
+ file_path: lib/client/client.rb:42
36
+ file_name: lib/client/client.rb
37
+ line_number: '42'
38
+ hash_key: '["lib/client/client.rb:42", "Client", nil]'
39
+ details:
40
+ flog: complexity is 37.9
41
+ reek: found 2 code smells
42
+ methods:
43
+ - location:
44
+ class_name: Client
45
+ method_name: Client#client_requested_sync
46
+ file_path: lib/client/client.rb:42
47
+ file_name: lib/client/client.rb
48
+ line_number: '42'
49
+ hash_key: '["lib/client/client.rb:42", "Client", "Client#client_requested_sync"]'
50
+ simple_method_name: '#client_requested_sync'
51
+ details:
52
+ flog: complexity is 37.9
53
+ reek: found 1 code smells
@@ -0,0 +1,14 @@
1
+ ---
2
+ :reek:
3
+ :matches:
4
+ - :file_path: lib/client/client.rb
5
+ :code_smells:
6
+ - :type: Large Class
7
+ :message: has at least 27 methods
8
+ :method: Devver::Client
9
+ - :type: Long Method
10
+ :message: has approx 6 statements
11
+ :method: Devver::Client#client_requested_sync
12
+ - :type: Large Class
13
+ :message: has at least 20 methods
14
+ :method: Devver::Foo
@@ -0,0 +1,13 @@
1
+ :roodi:
2
+ :total:
3
+ - Found 164 errors.
4
+ :problems:
5
+ - :line: "158"
6
+ :file: lib/client/client.rb
7
+ :problem: Method name "process" cyclomatic complexity is 10. It should be 8 or less.
8
+ - :line: "232"
9
+ :file: lib/client/client.rb
10
+ :problem: Method name "process_ready" cyclomatic complexity is 15. It should be 8 or less.
11
+ - :line: "288"
12
+ :file: lib/client/foobar.rb
13
+ :problem: Method name "send_tests" cyclomatic complexity is 10. It should be 8 or less.
@@ -0,0 +1,27 @@
1
+ :saikuro:
2
+ :files:
3
+ - :classes:
4
+ - :complexity: 0
5
+ :methods: []
6
+ :lines: 3
7
+ :class_name: Shorty
8
+ - :complexity: 19
9
+ :methods:
10
+ - :complexity: 9
11
+ :lines: 6
12
+ :name: Shorty::Supr#self.handle_full_or_hash_option
13
+ - :complexity: 1
14
+ :lines: 9
15
+ :name: Shorty::Supr#initialize
16
+ :lines: 92
17
+ :class_name: Shorty::Supr
18
+ :filename: supr.rb
19
+ - :classes:
20
+ - :complexity: 12
21
+ :methods:
22
+ - :complexity: 8
23
+ :lines: 10
24
+ :name: Shorty::Bitly#info
25
+ :lines: 104
26
+ :class_name: Shorty::Bitly
27
+ :filename: bitly.rb
@@ -0,0 +1,47 @@
1
+ ---
2
+ :reek:
3
+ :matches:
4
+ - :file_path: lib/client/client.rb
5
+ :code_smells:
6
+ - :type: Large Class
7
+ :message: has at least 27 methods
8
+ :method: Devver::Client
9
+ - :type: Long Method
10
+ :message: has approx 6 statements
11
+ :method: Devver::Client#client_requested_sync
12
+ :flog:
13
+ :method_containers:
14
+ - :highest_score: 61.5870319141946
15
+ :path: /lib/client/client.rb
16
+ :methods:
17
+ Client#client_requested_sync:
18
+ :path: /lib/client/client.rb
19
+ :score: 37.9270319141946
20
+ :operators:
21
+ :+: 1.70000000000001
22
+ :/: 1.80000000000001
23
+ :method_at_line: 1.90000000000001
24
+ :puts: 1.70000000000001
25
+ :assignment: 33.0000000000001
26
+ :in_method?: 1.70000000000001
27
+ :message: 1.70000000000001
28
+ :branch: 12.6
29
+ :<<: 3.40000000000001
30
+ :each: 1.50000000000001
31
+ :lit_fixnum: 1.45
32
+ :raise: 1.80000000000001
33
+ :each_pair: 1.3
34
+ :*: 1.60000000000001
35
+ :to_f: 2.00000000000001
36
+ :each_with_index: 3.00000000000001
37
+ :[]: 22.3000000000001
38
+ :new: 1.60000000000001
39
+ :average_score: 11.1209009055421
40
+ :total_score: 1817.6
41
+ :name: Client#client_requested_sync
42
+ :churn:
43
+ :changes:
44
+ - :file_path: lib/client/client.rb
45
+ :times_changed: 54
46
+ - :file_path: lib/client/foo.rb
47
+ :times_changed: 52
@@ -0,0 +1,4 @@
1
+ :stats:
2
+ :codeLOC: 4222
3
+ :testLOC: 2111
4
+ :code_to_test_ratio: 2
@@ -0,0 +1,36 @@
1
+ :saikuro:
2
+ :files:
3
+ - :classes:
4
+ - :complexity: 19
5
+ :methods:
6
+ - :complexity: 1
7
+ :lines: 9
8
+ :name: Client#client_requested_sync
9
+ - :complexity: 1
10
+ :lines: 9
11
+ :name: Client#method_that_is_not_mentioned_elsewhere_in_stats
12
+ :lines: 92
13
+ :class_name: Devver::Client
14
+ :filename: client.rb
15
+ :reek:
16
+ :matches:
17
+ - :file_path: lib/client/client.rb
18
+ :code_smells:
19
+ - :type: Large Class
20
+ :message: has at least 27 methods
21
+ :method: Devver::Client
22
+ - :type: Long Method
23
+ :message: has approx 6 statements
24
+ :method: Devver::Client#client_requested_sync
25
+ :flog:
26
+ :total: 1817.6
27
+ :pages:
28
+ - :path: /lib/client/client.rb
29
+ :highest_score: 37.9
30
+ :average_score: 13.6
31
+ :scanned_methods:
32
+ - :operators:
33
+ - :operator: "[]"
34
+ :score: 11.1
35
+ :score: 37.9
36
+ :name: Client#client_requested_sync
@@ -0,0 +1,33 @@
1
+ class Foo
2
+
3
+ def self.awesome
4
+ 1 + 1
5
+ end
6
+
7
+ def what
8
+ 12
9
+ end
10
+
11
+ def hello
12
+ puts "Hi There"
13
+ end
14
+
15
+
16
+ def awesome
17
+ 3+4
18
+ end
19
+
20
+ class << self
21
+ def neat
22
+ "23 skido"
23
+ end
24
+ end
25
+
26
+ private
27
+
28
+ def whoop
29
+ "w00t"
30
+ end
31
+ end
32
+
33
+ #comment
@@ -0,0 +1,11 @@
1
+ module KickAss
2
+
3
+ def get_beat_up?
4
+ [1,2,3].inject {|m,o| m = m + o}
5
+ true
6
+ end
7
+
8
+ def fight
9
+ "poorly"
10
+ end
11
+ end
@@ -0,0 +1,15 @@
1
+ module StuffModule
2
+
3
+ class ThingClass
4
+
5
+ def do_it
6
+ "do it"
7
+ end
8
+
9
+ end
10
+
11
+ def blah
12
+ "blah blah"
13
+ end
14
+
15
+ end
@@ -0,0 +1,11 @@
1
+ class Foo
2
+ def stuff
3
+ 5
4
+ end
5
+ end
6
+
7
+ class Bar
8
+ def stuff
9
+ 1
10
+ end
11
+ end