metric_fu 4.11.1 → 4.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (206) hide show
  1. checksums.yaml +5 -13
  2. data/.gitignore +6 -0
  3. data/.rubocop.yml +15 -0
  4. data/.rubocop_todo.yml +69 -0
  5. data/.simplecov +35 -3
  6. data/.travis.yml +6 -10
  7. data/CONTRIBUTORS +12 -11
  8. data/Gemfile +48 -29
  9. data/Guardfile +9 -9
  10. data/HISTORY.md +47 -1
  11. data/README.md +70 -57
  12. data/Rakefile +1 -15
  13. data/appveyor.yml +34 -0
  14. data/certs/bf4.pem +20 -20
  15. data/checksum/metric_fu-4.11.1.gem.sha512 +1 -0
  16. data/checksum/metric_fu-4.11.2.gem.sha512 +1 -0
  17. data/checksum/metric_fu-4.11.3.gem.sha512 +1 -0
  18. data/checksum/metric_fu-4.11.4.gem.sha512 +1 -0
  19. data/checksum/metric_fu-4.12.0.gem.sha512 +1 -0
  20. data/checksum/metric_fu-4.13.0.gem.sha512 +1 -0
  21. data/config/rubocop.yml +269 -0
  22. data/gem_tasks/build.rake +1 -0
  23. data/gem_tasks/rubocop.rake +10 -0
  24. data/gem_tasks/yard.rake +24 -0
  25. data/lib/metric_fu.rb +20 -9
  26. data/lib/metric_fu/calculate.rb +0 -1
  27. data/lib/metric_fu/cli/client.rb +6 -6
  28. data/lib/metric_fu/cli/helper.rb +22 -13
  29. data/lib/metric_fu/cli/parser.rb +14 -18
  30. data/lib/metric_fu/configuration.rb +7 -11
  31. data/lib/metric_fu/constantize.rb +4 -4
  32. data/lib/metric_fu/data_structures/line_numbers.rb +10 -11
  33. data/lib/metric_fu/data_structures/location.rb +12 -14
  34. data/lib/metric_fu/data_structures/sexp_node.rb +31 -13
  35. data/lib/metric_fu/environment.rb +29 -31
  36. data/lib/metric_fu/formatter.rb +4 -6
  37. data/lib/metric_fu/formatter/html.rb +13 -13
  38. data/lib/metric_fu/formatter/syntax.rb +5 -7
  39. data/lib/metric_fu/formatter/yaml.rb +1 -1
  40. data/lib/metric_fu/gem_run.rb +13 -15
  41. data/lib/metric_fu/gem_version.rb +10 -12
  42. data/lib/metric_fu/generator.rb +6 -9
  43. data/lib/metric_fu/io.rb +13 -15
  44. data/lib/metric_fu/loader.rb +17 -18
  45. data/lib/metric_fu/logger.rb +15 -18
  46. data/lib/metric_fu/logging/mf_debugger.rb +4 -4
  47. data/lib/metric_fu/metric.rb +11 -12
  48. data/lib/metric_fu/metrics/cane/generator.rb +10 -9
  49. data/lib/metric_fu/metrics/cane/grapher.rb +5 -7
  50. data/lib/metric_fu/metrics/cane/metric.rb +6 -8
  51. data/lib/metric_fu/metrics/cane/report.html.erb +3 -3
  52. data/lib/metric_fu/metrics/cane/violations.rb +6 -6
  53. data/lib/metric_fu/metrics/churn/generator.rb +2 -6
  54. data/lib/metric_fu/metrics/churn/hotspot.rb +1 -3
  55. data/lib/metric_fu/metrics/churn/metric.rb +5 -7
  56. data/lib/metric_fu/metrics/flay/generator.rb +7 -11
  57. data/lib/metric_fu/metrics/flay/grapher.rb +5 -6
  58. data/lib/metric_fu/metrics/flay/hotspot.rb +5 -7
  59. data/lib/metric_fu/metrics/flay/metric.rb +5 -7
  60. data/lib/metric_fu/metrics/flog/generator.rb +35 -24
  61. data/lib/metric_fu/metrics/flog/grapher.rb +11 -11
  62. data/lib/metric_fu/metrics/flog/hotspot.rb +3 -5
  63. data/lib/metric_fu/metrics/flog/metric.rb +3 -5
  64. data/lib/metric_fu/metrics/hotspots/analysis/analyzed_problems.rb +0 -1
  65. data/lib/metric_fu/metrics/hotspots/analysis/analyzer_tables.rb +19 -18
  66. data/lib/metric_fu/metrics/hotspots/analysis/grouping.rb +0 -2
  67. data/lib/metric_fu/metrics/hotspots/analysis/groupings.rb +1 -3
  68. data/lib/metric_fu/metrics/hotspots/analysis/problems.rb +4 -6
  69. data/lib/metric_fu/metrics/hotspots/analysis/ranked_problem_location.rb +14 -17
  70. data/lib/metric_fu/metrics/hotspots/analysis/ranking.rb +4 -5
  71. data/lib/metric_fu/metrics/hotspots/analysis/rankings.rb +1 -3
  72. data/lib/metric_fu/metrics/hotspots/analysis/record.rb +3 -5
  73. data/lib/metric_fu/metrics/hotspots/analysis/scoring_strategies.rb +0 -2
  74. data/lib/metric_fu/metrics/hotspots/analysis/table.rb +3 -4
  75. data/lib/metric_fu/metrics/hotspots/generator.rb +3 -6
  76. data/lib/metric_fu/metrics/hotspots/hotspot.rb +13 -13
  77. data/lib/metric_fu/metrics/hotspots/hotspot_analyzer.rb +5 -8
  78. data/lib/metric_fu/metrics/hotspots/metric.rb +1 -3
  79. data/lib/metric_fu/metrics/hotspots/report.html.erb +1 -1
  80. data/lib/metric_fu/metrics/rails_best_practices/generator.rb +14 -12
  81. data/lib/metric_fu/metrics/rails_best_practices/grapher.rb +5 -6
  82. data/lib/metric_fu/metrics/rails_best_practices/metric.rb +5 -4
  83. data/lib/metric_fu/metrics/rcov/external_client.rb +1 -3
  84. data/lib/metric_fu/metrics/rcov/generator.rb +13 -15
  85. data/lib/metric_fu/metrics/rcov/grapher.rb +6 -7
  86. data/lib/metric_fu/metrics/rcov/hotspot.rb +5 -7
  87. data/lib/metric_fu/metrics/rcov/metric.rb +5 -7
  88. data/lib/metric_fu/metrics/rcov/rcov_format_coverage.rb +16 -55
  89. data/lib/metric_fu/metrics/rcov/rcov_line.rb +48 -0
  90. data/lib/metric_fu/metrics/rcov/report.html.erb +2 -2
  91. data/lib/metric_fu/metrics/rcov/simplecov_formatter.rb +10 -11
  92. data/lib/metric_fu/metrics/reek/generator.rb +36 -82
  93. data/lib/metric_fu/metrics/reek/grapher.rb +5 -6
  94. data/lib/metric_fu/metrics/reek/hotspot.rb +5 -7
  95. data/lib/metric_fu/metrics/reek/metric.rb +2 -4
  96. data/lib/metric_fu/metrics/roodi/generator.rb +9 -10
  97. data/lib/metric_fu/metrics/roodi/grapher.rb +5 -6
  98. data/lib/metric_fu/metrics/roodi/hotspot.rb +1 -3
  99. data/lib/metric_fu/metrics/roodi/metric.rb +2 -4
  100. data/lib/metric_fu/metrics/saikuro/generator.rb +23 -27
  101. data/lib/metric_fu/metrics/saikuro/hotspot.rb +1 -3
  102. data/lib/metric_fu/metrics/saikuro/metric.rb +7 -8
  103. data/lib/metric_fu/metrics/saikuro/parsing_element.rb +6 -8
  104. data/lib/metric_fu/metrics/saikuro/report.html.erb +1 -1
  105. data/lib/metric_fu/metrics/saikuro/scratch_file.rb +24 -29
  106. data/lib/metric_fu/metrics/stats/generator.rb +9 -12
  107. data/lib/metric_fu/metrics/stats/grapher.rb +8 -9
  108. data/lib/metric_fu/metrics/stats/hotspot.rb +1 -3
  109. data/lib/metric_fu/metrics/stats/metric.rb +3 -5
  110. data/lib/metric_fu/reporter.rb +1 -1
  111. data/lib/metric_fu/reporting/graphs/graph.rb +8 -12
  112. data/lib/metric_fu/reporting/graphs/grapher.rb +7 -9
  113. data/lib/metric_fu/reporting/result.rb +0 -3
  114. data/lib/metric_fu/run.rb +12 -3
  115. data/lib/metric_fu/tasks/metric_fu.rake +8 -8
  116. data/lib/metric_fu/templates/configuration.rb +2 -5
  117. data/lib/metric_fu/templates/metrics_template.rb +45 -32
  118. data/lib/metric_fu/templates/report.rb +5 -8
  119. data/lib/metric_fu/templates/template.rb +20 -24
  120. data/lib/metric_fu/utility.rb +15 -8
  121. data/lib/metric_fu/version.rb +7 -1
  122. data/metric_fu.gemspec +29 -32
  123. data/spec/capture_warnings.rb +29 -22
  124. data/spec/cli/helper_spec.rb +9 -16
  125. data/spec/dummy/lib/bad_encoding.rb +1 -1
  126. data/spec/fixtures/coverage-153.rb +2 -2
  127. data/spec/fixtures/coverage.rb +2 -2
  128. data/spec/metric_fu/calculate_spec.rb +3 -3
  129. data/spec/metric_fu/configuration_spec.rb +71 -83
  130. data/spec/metric_fu/data_structures/line_numbers_spec.rb +3 -5
  131. data/spec/metric_fu/data_structures/location_spec.rb +13 -31
  132. data/spec/metric_fu/formatter/configuration_spec.rb +18 -20
  133. data/spec/metric_fu/formatter/html_spec.rb +21 -28
  134. data/spec/metric_fu/formatter/yaml_spec.rb +9 -17
  135. data/spec/metric_fu/formatter_spec.rb +16 -16
  136. data/spec/metric_fu/gem_version_spec.rb +4 -6
  137. data/spec/metric_fu/generator_spec.rb +33 -43
  138. data/spec/metric_fu/loader_spec.rb +5 -4
  139. data/spec/metric_fu/metric_spec.rb +21 -25
  140. data/spec/metric_fu/metrics/cane/configuration_spec.rb +14 -14
  141. data/spec/metric_fu/metrics/cane/generator_spec.rb +26 -29
  142. data/spec/metric_fu/metrics/churn/configuration_spec.rb +7 -9
  143. data/spec/metric_fu/metrics/churn/generator_spec.rb +6 -11
  144. data/spec/metric_fu/metrics/flay/configuration_spec.rb +7 -9
  145. data/spec/metric_fu/metrics/flay/generator_spec.rb +36 -37
  146. data/spec/metric_fu/metrics/flay/grapher_spec.rb +2 -2
  147. data/spec/metric_fu/metrics/flog/configuration_spec.rb +12 -14
  148. data/spec/metric_fu/metrics/flog/generator_spec.rb +31 -32
  149. data/spec/metric_fu/metrics/flog/grapher_spec.rb +8 -10
  150. data/spec/metric_fu/metrics/hotspots/analysis/analyzed_problems_spec.rb +18 -24
  151. data/spec/metric_fu/metrics/hotspots/analysis/analyzer_tables_spec.rb +12 -17
  152. data/spec/metric_fu/metrics/hotspots/analysis/ranking_spec.rb +2 -6
  153. data/spec/metric_fu/metrics/hotspots/analysis/rankings_spec.rb +5 -14
  154. data/spec/metric_fu/metrics/hotspots/analysis/table_spec.rb +1 -3
  155. data/spec/metric_fu/metrics/hotspots/generator_spec.rb +6 -8
  156. data/spec/metric_fu/metrics/hotspots/hotspot_analyzer_spec.rb +1 -3
  157. data/spec/metric_fu/metrics/hotspots/hotspot_spec.rb +4 -5
  158. data/spec/metric_fu/metrics/rails_best_practices/configuration_spec.rb +25 -17
  159. data/spec/metric_fu/metrics/rails_best_practices/generator_spec.rb +2 -3
  160. data/spec/metric_fu/metrics/rails_best_practices/grapher_spec.rb +3 -3
  161. data/spec/metric_fu/metrics/rcov/configuration_spec.rb +21 -23
  162. data/spec/metric_fu/metrics/rcov/generator_spec.rb +6 -10
  163. data/spec/metric_fu/metrics/rcov/grapher_spec.rb +2 -2
  164. data/spec/metric_fu/metrics/rcov/hotspot_spec.rb +8 -8
  165. data/spec/metric_fu/metrics/rcov/rcov_line_spec.rb +89 -0
  166. data/spec/metric_fu/metrics/rcov/simplecov_formatter_spec.rb +31 -33
  167. data/spec/metric_fu/metrics/reek/configuration_spec.rb +7 -7
  168. data/spec/metric_fu/metrics/reek/generator_spec.rb +131 -111
  169. data/spec/metric_fu/metrics/reek/grapher_spec.rb +4 -4
  170. data/spec/metric_fu/metrics/roodi/configuration_spec.rb +8 -10
  171. data/spec/metric_fu/metrics/roodi/generator_spec.rb +3 -3
  172. data/spec/metric_fu/metrics/roodi/grapher_spec.rb +2 -2
  173. data/spec/metric_fu/metrics/saikuro/configuration_spec.rb +22 -23
  174. data/spec/metric_fu/metrics/saikuro/generator_spec.rb +7 -7
  175. data/spec/metric_fu/metrics/stats/generator_spec.rb +10 -10
  176. data/spec/metric_fu/metrics/stats/grapher_spec.rb +2 -2
  177. data/spec/metric_fu/reporter_spec.rb +8 -9
  178. data/spec/metric_fu/reporting/graphs/graph_spec.rb +1 -4
  179. data/spec/metric_fu/reporting/graphs/grapher_spec.rb +5 -5
  180. data/spec/metric_fu/reporting/result_spec.rb +12 -14
  181. data/spec/metric_fu/run_spec.rb +19 -33
  182. data/spec/metric_fu/templates/configuration_spec.rb +34 -40
  183. data/spec/metric_fu/templates/metrics_template_spec.rb +11 -0
  184. data/spec/metric_fu/templates/report_spec.rb +4 -4
  185. data/spec/metric_fu/templates/template_spec.rb +78 -64
  186. data/spec/metric_fu/utility_spec.rb +3 -3
  187. data/spec/metric_fu_spec.rb +23 -6
  188. data/spec/quality_spec.rb +43 -15
  189. data/spec/shared/configured.rb +9 -11
  190. data/spec/shared/test_coverage.rb +5 -9
  191. data/spec/spec_helper.rb +13 -31
  192. data/spec/{dummy → support}/.metrics +0 -0
  193. data/spec/support/deferred_garbaged_collection.rb +1 -2
  194. data/spec/support/matcher_create_file.rb +6 -4
  195. data/spec/support/matcher_create_files.rb +6 -4
  196. data/spec/support/samples/reek/alfa.rb +1 -0
  197. data/spec/support/suite.rb +3 -3
  198. data/spec/support/test_fixtures.rb +5 -7
  199. data/spec/support/timeout.rb +1 -1
  200. data/spec/support/usage_test.rb +24 -25
  201. data/spec/usage_test_spec.rb +30 -32
  202. metadata +104 -103
  203. checksums.yaml.gz.sig +0 -0
  204. data.tar.gz.sig +0 -0
  205. data/gemfiles/Gemfile.travis +0 -10
  206. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NjRkYzc2YTUyMTE0NzdkNTIxNmVhMTlkMGUzNzQ5NTIzYjY5N2JhNw==
5
- data.tar.gz: !binary |-
6
- YjYyYWU0YTk5NjE5ZDM4M2I1ZmVlNWY2ODM4NzM3Y2M4MTUwM2IxZQ==
2
+ SHA256:
3
+ metadata.gz: 8ff6ebbe956db6bea6a6c659009c6b6d82cfd55bb307bab83fef44c84bc5ab62
4
+ data.tar.gz: f6c2186a24106cdaedebb726b1d6105bfa78133fa0634680312a432b1c6a6e4e
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MjJmZjc0N2U3NmI1YTU3YTQwYmE3NjM2NTBhNDY0MmYzMmM2MTQyZjYxNmJj
10
- OTM3ZmE1ODlmZjg1Yjg0MDZlYTNiZWNiZjAyMTM5MmQ0MThjNzJmMzkzODcy
11
- YjcyZjA3YTYwNGE3ODQ0NzE5NjEwN2FiMWJlNTMyNjIyNjBkZWE=
12
- data.tar.gz: !binary |-
13
- YjA1NmJmMDZiYzc2ZDBkODVmNDliNWFkMDllZmQyMTk2NGNhN2YwNTFlNzcx
14
- NzI3OGNkMDNmMGFhYjZjYWU5YTFjYmNkYTFlZDM0M2VkNGNlNmRmMmFmN2Iy
15
- ZWVmNGRmNWQ2MmIxNDQ0MDg3MzFlZWM5MzM0MGVlZTYxNzM5MWQ=
6
+ metadata.gz: 727a55955630636b8c5a6e47e88a985f45fd33c1f5e5242a5cea410704b2eb9d4caf802a2a06f49b9f333ffc89be4792a73d322eb64e5f8d31505e677dd37c5a
7
+ data.tar.gz: 3f8687c5f52822478f00a675ece026125113898c2229fe3be251453d9b4cb4b27fdaa76b4ea85b9b9735339dce5e489c842379cf4dede48083013db028f89395
data/.gitignore CHANGED
@@ -20,3 +20,9 @@ tmp
20
20
  *.swp
21
21
  tags
22
22
  .idea
23
+
24
+ # rvm
25
+ .ruby-version
26
+ .ruby-gemset
27
+
28
+ .overcommit.yml
@@ -0,0 +1,15 @@
1
+ inherit_from:
2
+ - config/rubocop.yml
3
+ - .rubocop_todo.yml
4
+
5
+ # Files you want to exclude
6
+ AllCops:
7
+ Exclude:
8
+ - bin/*
9
+ - gem_tasks/*
10
+ - lib/tasks/*
11
+ - Gemfile
12
+ - Rakefile
13
+ - bundle/**/*
14
+ - vendor/bundle/**/*
15
+ - spec/fixtures/line_numbers/*
@@ -0,0 +1,69 @@
1
+ # This configuration was generated by `rubocop --auto-gen-config`
2
+ # on 2015-01-27 12:05:28 -0600 using RuboCop version 0.28.0.
3
+ # The point is for the user to remove these configuration records
4
+ # one by one as the offenses are removed from the code base.
5
+ # Note that changes in the inspected code, or installation of new
6
+ # versions of RuboCop, may require this file to be generated again.
7
+
8
+ # Offense count: 2
9
+ # Configuration parameters: AlignWith, SupportedStyles.
10
+ Lint/EndAlignment:
11
+ Enabled: false
12
+
13
+ # Offense count: 2
14
+ Lint/EnsureReturn:
15
+ Enabled: false
16
+
17
+ # Offense count: 1
18
+ Lint/RescueException:
19
+ Enabled: false
20
+
21
+ # Offense count: 10
22
+ Lint/ShadowingOuterLocalVariable:
23
+ Enabled: false
24
+
25
+ # Offense count: 1
26
+ Lint/UselessAccessModifier:
27
+ Enabled: false
28
+
29
+ # Offense count: 27
30
+ Lint/UselessAssignment:
31
+ Enabled: false
32
+
33
+ # Offense count: 44
34
+ Metrics/AbcSize:
35
+ Max: 56
36
+
37
+ # Offense count: 393
38
+ # Configuration parameters: AllowURI, URISchemes.
39
+ Metrics/LineLength:
40
+ Max: 709
41
+
42
+ # Offense count: 3
43
+ Metrics/PerceivedComplexity:
44
+ Max: 13
45
+
46
+ # Offense count: 4
47
+ # Cop supports --auto-correct.
48
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
49
+ Style/AndOr:
50
+ Enabled: false
51
+
52
+ # Offense count: 2
53
+ Style/EmptyElse:
54
+ Enabled: false
55
+
56
+ # Offense count: 2
57
+ # Configuration parameters: NamePrefix, NamePrefixBlacklist.
58
+ Style/PredicateName:
59
+ Enabled: false
60
+
61
+ # Offense count: 1
62
+ Style/RescueModifier:
63
+ Enabled: false
64
+
65
+ # Offense count: 4
66
+ # Cop supports --auto-correct.
67
+ # Configuration parameters: AllowAsExpressionSeparator.
68
+ Style/Semicolon:
69
+ Enabled: false
data/.simplecov CHANGED
@@ -1,5 +1,7 @@
1
1
  # https://github.com/colszowka/simplecov#using-simplecov-for-centralized-config
2
2
  # see https://github.com/colszowka/simplecov/blob/master/lib/simplecov/defaults.rb
3
+ # vim: set ft=ruby
4
+ @minimum_coverage = ENV.fetch("COVERAGE_MINIMUM") { 87.8 }.to_f.round(2)
3
5
  if SimpleCov.respond_to?(:profiles)
4
6
  SimpleCov.profiles
5
7
  else
@@ -31,12 +33,42 @@ end.define 'metric_fu' do
31
33
 
32
34
  # Exclude these paths from analysis
33
35
  add_filter 'bundle'
36
+ add_filter 'vendor/bundle'
34
37
  add_filter 'bin'
35
38
  add_filter 'lib/metric_fu/tasks'
39
+
40
+ # https://github.com/colszowka/simplecov/blob/v0.9.1/lib/simplecov/defaults.rb#L60
41
+ # minimum_coverage @minimum_coverage
36
42
  end
37
- SimpleCov.at_exit do
38
- File.open(File.join(SimpleCov.coverage_path, 'coverage_percent.txt'), 'w') do |f|
39
- f.write SimpleCov.result.covered_percent
43
+
44
+ ## RUN SIMPLECOV
45
+ if defined?(@running_tests)
46
+ @running_tests = false
47
+ else
48
+ @running_tests = caller.any? {|line| line =~ /exe\/rspec/ }
49
+ end
50
+ if ENV["COVERAGE"] =~ /\Atrue\z/i
51
+ puts "[COVERAGE] Running with SimpleCov HTML Formatter"
52
+ formatters = [SimpleCov::Formatter::HTMLFormatter]
53
+ begin
54
+ puts '[COVERAGE] Running with SimpleCov HTML Formatter'
55
+ require 'metric_fu/metrics/rcov/simplecov_formatter'
56
+ formatters << SimpleCov::Formatter::MetricFu
57
+ puts '[COVERAGE] Running with SimpleCov MetricFu Formatter'
58
+ rescue LoadError
59
+ puts '[COVERAGE] SimpleCov MetricFu formatter could not be loaded'
40
60
  end
61
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[ *formatters ]
62
+ SimpleCov.start "metric_fu" if @running_tests
63
+ else
64
+ SimpleCov.formatters = []
65
+ end
66
+ SimpleCov.at_exit do
41
67
  SimpleCov.result.format!
68
+ percent = Float(SimpleCov.result.covered_percent)
69
+ if percent < @minimum_coverage
70
+ abort "Spec coverage was not high enough: #{percent.round(2)} is < #{@minimum_coverage}%"
71
+ else
72
+ puts "Nice job! Spec coverage is still above #{@minimum_coverage}%"
73
+ end
42
74
  end
@@ -1,22 +1,18 @@
1
1
  language: ruby
2
- bundler_args: --path vendor/bundle
2
+ bundler_args: --path vendor/bundle --jobs=3 --retry=3
3
3
  script: bundle exec rspec
4
4
  cache: bundler
5
- gemfile:
6
- - gemfiles/Gemfile.travis
5
+
7
6
  before_install:
8
7
  - gem install bundler
9
8
  - bundle config --local without local_development yard guard
10
9
  rvm:
11
10
  # 2.1, not 2.1.0 until fixed https://github.com/travis-ci/travis-ci/issues/2220
12
- - 2.1
13
- - 2.0.0
14
- - 1.9.3
15
- - 1.9.2
11
+ - 2.5
12
+ - 2.6
13
+ - 2.7
16
14
  - jruby
17
- - "rbx-2"
18
15
  matrix:
19
16
  allow_failures:
20
- - rvm: rbx-2
21
- - rvm: 2.1
17
+ - rvm: jruby
22
18
  fast_finish: true
@@ -8,9 +8,9 @@ Dan Mayer
8
8
  Robin Curry
9
9
  Sean Soper
10
10
  Delwyn de Villiers
11
+ Martin Gotink
11
12
  Carl Youngblood
12
13
  Andre Arko
13
- Martin Gotink
14
14
  Chris Griego
15
15
  Sathish
16
16
  Michael Stark
@@ -21,6 +21,7 @@ jscruggs
21
21
  David Chelimsky
22
22
  adrien
23
23
  Jay Zeschin
24
+ Greg Allen
24
25
  Alex Rothenberg
25
26
  calveto
26
27
  Avdi Grimm
@@ -31,12 +32,13 @@ Josef Šimánek
31
32
  Andy Gregorowicz
32
33
  Tarsoly András
33
34
  Benjamin Fleischer / Paul Swagerty
34
- unknown
35
35
  Nick Veys
36
+ unknown
37
+ Micah Geisel
36
38
  Extrovert
37
39
  Ben Turner
38
- KAKUTANI Shintaro
39
40
  Andrew Timberlake
41
+ KAKUTANI Shintaro
40
42
  Guilherme Souza
41
43
  Przemysław Dąbek
42
44
  carlost
@@ -44,8 +46,8 @@ David Barri
44
46
  Beau Fabry
45
47
  Chris Mason
46
48
  Andrew Selder
47
- Mark Wilden
48
49
  iain
50
+ Mark Wilden
49
51
  Alessandro Dias
50
52
  Lars E. Hoeg
51
53
  Eric Wollesen
@@ -60,16 +62,15 @@ khall
60
62
  Stefan Huber
61
63
  Todd A. Jacobs
62
64
  jayzes
63
- Bitdeli Chef
64
65
  Hans Hasselberg
65
66
  Scyllinice
67
+ Bitdeli Chef
68
+ René Föhring
66
69
  Matthew Gordon
67
- Guilherme Simões
68
70
  factorylabs
69
- Greg Allen
71
+ Mike Ball
72
+ Guilherme Simões
73
+ Paul Elliott
74
+ Joel Nimety
70
75
  Chris Ian Fiel
71
76
  Mike Szyndel
72
- Joel Nimety
73
- René Föhring
74
- Paul Elliott
75
- Mike Ball
data/Gemfile CHANGED
@@ -1,39 +1,58 @@
1
1
  # encoding: utf-8
2
- source 'https://rubygems.org'
2
+ source "https://rubygems.org"
3
3
 
4
- group :test, :local_development do
5
- gem 'pry'
6
- gem 'pry-nav'
7
- end
8
-
9
- gemspec :path => File.expand_path('..', __FILE__)
4
+ if RUBY_VERSION >= '1.9.3'
5
+ gem "rubocop", platforms: :mri, groups: [:test, :local_development]
6
+ gem "activesupport", "~> 4.2"
10
7
 
11
- # Added by devtools
12
- group :development do
13
- gem 'rake', '~> 10.1.0'
14
- gem 'rspec', '~> 3.0.0.beta2'
15
- gem 'yard', '~> 0.8.7', group: :yard
8
+ if RUBY_VERSION > '2.3'
9
+ gem "json", ">= 2.0"
10
+ else
11
+ gem "json", "~> 1.7"
12
+ end
13
+ if RUBY_VERSION =~ /^2\.0\..*/
14
+ gem "unparser", "0.2.4"
15
+ elsif RUBY_VERSION =~ /^1\.9\.3.*/
16
+ gem "unparser", "0.2.4"
17
+ gem "json_pure", "2.0.1"
18
+ gem "mime-types", "2.99.3"
19
+ gem "rest-client", "1.8.0"
20
+ gem "addressable", "2.4.0"
21
+ gem "ffi", "1.9.14" # windows support
22
+ end
23
+ elsif RUBY_VERSION =~ /^1\.9\.2.*/
24
+ # because of https://github.com/railsbp/rails_best_practices/blob/master/rails_best_practices.gemspec
25
+ gem "activesupport", "~> 3.2"
26
+ # because of https://github.com/troessner/reek/issues/334
27
+ gem "reek", "~> 1.4.0"
28
+ # rbp -> as -> i18n
29
+ gem "i18n", "0.6.11"
30
+ gem "parallel", "= 1.3.3" # 1.3.4 disallows 1.9.2
31
+ gem "unparser", "0.1.5"
32
+ gem "json_pure", "2.0.1"
33
+ gem "mime-types", "2.99.3"
34
+ gem "rest-client", "1.8.0"
35
+ gem "json", "~> 1.7"
36
+ gem "addressable", "2.4.0"
37
+ gem "rainbow", "2.1.0"
38
+ gem "ffi", "1.9.14" # windows support
16
39
  end
17
40
 
18
- group :guard do
19
- gem 'guard', '~> 1.8.1'
20
- gem 'guard-bundler', '~> 1.0.0'
21
- gem 'guard-rspec'
22
-
23
- # file system change event handling
24
- gem 'listen', '~> 1.3.0'
25
- gem 'rb-fchange', '~> 0.0.6', require: false
26
- gem 'rb-fsevent', '~> 0.9.3', require: false
27
- gem 'rb-inotify', '~> 0.9.0', require: false
28
-
29
- # notification handling
30
- gem 'libnotify', '~> 0.8.0', require: false
31
- gem 'rb-notifu', '~> 0.0.4', require: false
32
- gem 'terminal-notifier-guard', '~> 1.5.3', require: false
33
- end
41
+ gemspec path: File.expand_path("..", __FILE__)
34
42
 
35
43
  platform :jruby do
36
44
  group :jruby do
37
- gem 'jruby-openssl', '~> 0.8.5'
45
+ gem "jruby-openssl", "~> 0.9.17"
38
46
  end
39
47
  end
48
+
49
+ group :test, :local_development do
50
+ gem "pry"
51
+ gem "pry-nav"
52
+ end
53
+
54
+ # Added by devtools
55
+ group :development do
56
+ gem "rake", "~> 10.1.0"
57
+ gem "yard", "~> 0.8.7", group: :yard
58
+ end
data/Guardfile CHANGED
@@ -1,22 +1,22 @@
1
1
  guard :bundler do
2
- watch('Gemfile')
3
- watch('Gemfile.lock')
2
+ watch("Gemfile")
3
+ watch("Gemfile.lock")
4
4
  watch(%w{.+.gemspec\z})
5
5
  end
6
6
 
7
- guard :rspec, cli: File.read('.rspec').split.push('--fail-fast').join(' '), keep_failed: false do
7
+ guard :rspec, cli: File.read(".rspec").split.push("--fail-fast").join(" "), keep_failed: false do
8
8
  # Run all specs if configuration is modified
9
- watch('.rspec') { 'spec' }
10
- watch('Guardfile') { 'spec' }
11
- watch('Gemfile.lock') { 'spec' }
12
- watch('spec/spec_helper.rb') { 'spec' }
9
+ watch(".rspec") { "spec" }
10
+ watch("Guardfile") { "spec" }
11
+ watch("Gemfile.lock") { "spec" }
12
+ watch("spec/spec_helper.rb") { "spec" }
13
13
 
14
14
  # Run all specs if supporting files are modified
15
- watch(%r{\Aspec/(?:fixtures|lib|support|shared)/.+\.rb\z}) { 'spec' }
15
+ watch(%r{\Aspec/(?:fixtures|lib|support|shared)/.+\.rb\z}) { "spec" }
16
16
 
17
17
  # Run unit specs if associated lib code is modified
18
18
  watch(%r{\Alib/(.+)\.rb\z}) { |m| "spec/#{m[1]}_spec.rb" }
19
- watch("lib/#{File.basename(File.expand_path('../', __FILE__))}.rb") { 'spec' }
19
+ watch("lib/#{File.basename(File.expand_path('../', __FILE__))}.rb") { "spec" }
20
20
 
21
21
  # Run a spec if it is modified
22
22
  watch(%r{\Aspec/.+_spec\.rb$\z})
data/HISTORY.md CHANGED
@@ -4,13 +4,59 @@ Each change should fall into categories that would affect whether the release is
4
4
 
5
5
  As such, a _Feature_ would map to either major (breaking change) or minor. A _bug fix_ to a patch. And _misc_ is either minor or patch, the difference being kind of fuzzy for the purposes of history. Adding tests would be patch level.
6
6
 
7
- ### Master [changes](https://github.com/metricfu/metric_fu/compare/v4.11.1...master)
7
+ ### [Unreleased](https://github.com/metricfu/metric_fu/compare/v4.13.0...master)
8
8
 
9
9
  * Breaking Changes
10
10
  * Features
11
11
  * Fixes
12
12
  * Misc
13
13
 
14
+ ### [4.13.0](https://github.com/metricfu/metric_fu/compare/v4.12.0...v4.13.0)
15
+
16
+ * Features
17
+ * Setup CI pipeline on AppVeyor and fixed specs. (Rasmus Bergholdt, #285, fixes #284)
18
+ * Upgraded roodi to v5.0.0 (Jonathan Keam, #287)
19
+ * Updated jruby-openssl and removed unused rb-notifu gem (Jonathan Keam, #290)
20
+ * Fixes
21
+ * Rails best practices options (Noah S-W, #264, #263)
22
+ * Fix deprecation warnings for Dir.exists? (Jared Szechy, #269)
23
+ * Fix specs (Luciano Sousa, #270)
24
+ * Fixed broken dependencies (Jonathan Keam, #279)
25
+ * FlogCli.flog must receive an expanded list of files (Rasmus Bergholdt, #282, fixes #273)
26
+ * Fix test warnings (Jonathan Keam, #289, addresses #288)
27
+ * Misc
28
+ * Add a Gitter chat badge to README.md (#259)
29
+
30
+ ### [4.12.0](https://github.com/metricfu/metric_fu/compare/v4.11.4...v4.12.0)
31
+
32
+ * Features
33
+ * Add line numbers to reek output. (ggallen, #255)
34
+ * Use reek directly. (Martin Gotink, #258)
35
+ * Add support for reek 2. (Martin Gotink, #258)
36
+ * Fixes
37
+ * Use same styling for covered as ignored lines. (Martin Gotink, #254)
38
+
39
+ ### [4.11.4](https://github.com/metricfu/metric_fu/compare/v4.11.3...v4.11.4)
40
+
41
+ * Fixes
42
+ * Hash hotspots output filenames. (Martin Gotink, #247, fixes #246)
43
+ * Fix invalid file links for rails best practices (Martin Gotink, #248)
44
+ * Add file links to cane and saikuro reports (Martin Gotink, #248)
45
+ * Fix incorrectly displaying not covered lines. (Martin Gotink, #249)
46
+ * Fix simplecov missing logger dependency. (Martin Gotink, #250, fixes #235)
47
+
48
+ ### [4.11.3](https://github.com/metricfu/metric_fu/compare/v4.11.2...v4.11.3)
49
+
50
+ * Fixes
51
+ * Fix incorrectly passing --config option to reek. (Martin Gotink, #243, fixes #242)
52
+
53
+ ### [4.11.2](https://github.com/metricfu/metric_fu/compare/v4.11.1...v4.11.2)
54
+
55
+ * Fixes
56
+ * Use reek as library, otherwise reek >= 1.6.2 hangs while reading input from stdin. (Martin Gotink, #240, fixes #239)
57
+ * Misc
58
+ * Refactor MetricFu::Templates::MetricsTemplate#write into a composed method. (#237)
59
+
14
60
  ### [4.11.1](https://github.com/metricfu/metric_fu/compare/v4.11.0...v4.11.1)
15
61
 
16
62
  * Fixes