metric_fu 4.11.3 → 4.11.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/.rubocop.yml +15 -0
  5. data/.rubocop_todo.yml +69 -0
  6. data/.travis.yml +0 -1
  7. data/CONTRIBUTORS +1 -1
  8. data/Gemfile +23 -20
  9. data/Guardfile +9 -9
  10. data/HISTORY.md +10 -1
  11. data/checksum/metric_fu-4.11.3.gem.sha512 +1 -0
  12. data/config/rubocop.yml +269 -0
  13. data/gem_tasks/rubocop.rake +10 -0
  14. data/lib/metric_fu.rb +11 -9
  15. data/lib/metric_fu/calculate.rb +0 -1
  16. data/lib/metric_fu/cli/client.rb +6 -6
  17. data/lib/metric_fu/cli/helper.rb +22 -13
  18. data/lib/metric_fu/cli/parser.rb +14 -18
  19. data/lib/metric_fu/configuration.rb +7 -11
  20. data/lib/metric_fu/constantize.rb +4 -4
  21. data/lib/metric_fu/data_structures/line_numbers.rb +10 -11
  22. data/lib/metric_fu/data_structures/location.rb +12 -14
  23. data/lib/metric_fu/data_structures/sexp_node.rb +31 -13
  24. data/lib/metric_fu/environment.rb +29 -31
  25. data/lib/metric_fu/formatter.rb +4 -6
  26. data/lib/metric_fu/formatter/html.rb +13 -13
  27. data/lib/metric_fu/formatter/syntax.rb +5 -7
  28. data/lib/metric_fu/formatter/yaml.rb +1 -1
  29. data/lib/metric_fu/gem_run.rb +13 -15
  30. data/lib/metric_fu/gem_version.rb +9 -11
  31. data/lib/metric_fu/generator.rb +5 -8
  32. data/lib/metric_fu/io.rb +13 -15
  33. data/lib/metric_fu/loader.rb +17 -18
  34. data/lib/metric_fu/logger.rb +15 -18
  35. data/lib/metric_fu/logging/mf_debugger.rb +4 -4
  36. data/lib/metric_fu/metric.rb +11 -12
  37. data/lib/metric_fu/metrics/cane/generator.rb +10 -9
  38. data/lib/metric_fu/metrics/cane/grapher.rb +5 -7
  39. data/lib/metric_fu/metrics/cane/metric.rb +6 -8
  40. data/lib/metric_fu/metrics/cane/report.html.erb +3 -3
  41. data/lib/metric_fu/metrics/cane/violations.rb +6 -6
  42. data/lib/metric_fu/metrics/churn/generator.rb +2 -6
  43. data/lib/metric_fu/metrics/churn/hotspot.rb +1 -3
  44. data/lib/metric_fu/metrics/churn/metric.rb +5 -7
  45. data/lib/metric_fu/metrics/flay/generator.rb +7 -11
  46. data/lib/metric_fu/metrics/flay/grapher.rb +5 -6
  47. data/lib/metric_fu/metrics/flay/hotspot.rb +5 -7
  48. data/lib/metric_fu/metrics/flay/metric.rb +5 -7
  49. data/lib/metric_fu/metrics/flog/generator.rb +22 -23
  50. data/lib/metric_fu/metrics/flog/grapher.rb +11 -11
  51. data/lib/metric_fu/metrics/flog/hotspot.rb +3 -5
  52. data/lib/metric_fu/metrics/flog/metric.rb +3 -5
  53. data/lib/metric_fu/metrics/hotspots/analysis/analyzed_problems.rb +0 -1
  54. data/lib/metric_fu/metrics/hotspots/analysis/analyzer_tables.rb +19 -18
  55. data/lib/metric_fu/metrics/hotspots/analysis/grouping.rb +0 -2
  56. data/lib/metric_fu/metrics/hotspots/analysis/groupings.rb +1 -3
  57. data/lib/metric_fu/metrics/hotspots/analysis/problems.rb +4 -6
  58. data/lib/metric_fu/metrics/hotspots/analysis/ranked_problem_location.rb +14 -9
  59. data/lib/metric_fu/metrics/hotspots/analysis/ranking.rb +4 -5
  60. data/lib/metric_fu/metrics/hotspots/analysis/rankings.rb +1 -3
  61. data/lib/metric_fu/metrics/hotspots/analysis/record.rb +3 -5
  62. data/lib/metric_fu/metrics/hotspots/analysis/scoring_strategies.rb +0 -2
  63. data/lib/metric_fu/metrics/hotspots/analysis/table.rb +3 -4
  64. data/lib/metric_fu/metrics/hotspots/generator.rb +3 -6
  65. data/lib/metric_fu/metrics/hotspots/hotspot.rb +13 -13
  66. data/lib/metric_fu/metrics/hotspots/hotspot_analyzer.rb +5 -8
  67. data/lib/metric_fu/metrics/hotspots/metric.rb +1 -3
  68. data/lib/metric_fu/metrics/hotspots/report.html.erb +1 -1
  69. data/lib/metric_fu/metrics/rails_best_practices/generator.rb +10 -12
  70. data/lib/metric_fu/metrics/rails_best_practices/grapher.rb +5 -6
  71. data/lib/metric_fu/metrics/rails_best_practices/metric.rb +1 -3
  72. data/lib/metric_fu/metrics/rcov/external_client.rb +1 -3
  73. data/lib/metric_fu/metrics/rcov/generator.rb +13 -15
  74. data/lib/metric_fu/metrics/rcov/grapher.rb +6 -7
  75. data/lib/metric_fu/metrics/rcov/hotspot.rb +5 -7
  76. data/lib/metric_fu/metrics/rcov/metric.rb +5 -7
  77. data/lib/metric_fu/metrics/rcov/rcov_format_coverage.rb +16 -55
  78. data/lib/metric_fu/metrics/rcov/rcov_line.rb +48 -0
  79. data/lib/metric_fu/metrics/rcov/report.html.erb +2 -2
  80. data/lib/metric_fu/metrics/rcov/simplecov_formatter.rb +10 -11
  81. data/lib/metric_fu/metrics/reek/generator.rb +22 -23
  82. data/lib/metric_fu/metrics/reek/grapher.rb +5 -6
  83. data/lib/metric_fu/metrics/reek/hotspot.rb +5 -7
  84. data/lib/metric_fu/metrics/reek/metric.rb +2 -4
  85. data/lib/metric_fu/metrics/roodi/generator.rb +9 -10
  86. data/lib/metric_fu/metrics/roodi/grapher.rb +5 -6
  87. data/lib/metric_fu/metrics/roodi/hotspot.rb +1 -3
  88. data/lib/metric_fu/metrics/roodi/metric.rb +2 -4
  89. data/lib/metric_fu/metrics/saikuro/generator.rb +23 -27
  90. data/lib/metric_fu/metrics/saikuro/hotspot.rb +1 -3
  91. data/lib/metric_fu/metrics/saikuro/metric.rb +7 -8
  92. data/lib/metric_fu/metrics/saikuro/parsing_element.rb +6 -8
  93. data/lib/metric_fu/metrics/saikuro/report.html.erb +1 -1
  94. data/lib/metric_fu/metrics/saikuro/scratch_file.rb +24 -29
  95. data/lib/metric_fu/metrics/stats/generator.rb +9 -12
  96. data/lib/metric_fu/metrics/stats/grapher.rb +8 -9
  97. data/lib/metric_fu/metrics/stats/hotspot.rb +1 -3
  98. data/lib/metric_fu/metrics/stats/metric.rb +3 -5
  99. data/lib/metric_fu/reporter.rb +1 -1
  100. data/lib/metric_fu/reporting/graphs/graph.rb +8 -12
  101. data/lib/metric_fu/reporting/graphs/grapher.rb +7 -9
  102. data/lib/metric_fu/reporting/result.rb +0 -3
  103. data/lib/metric_fu/run.rb +12 -3
  104. data/lib/metric_fu/tasks/metric_fu.rake +8 -8
  105. data/lib/metric_fu/templates/configuration.rb +2 -5
  106. data/lib/metric_fu/templates/metrics_template.rb +19 -19
  107. data/lib/metric_fu/templates/report.rb +5 -8
  108. data/lib/metric_fu/templates/template.rb +20 -24
  109. data/lib/metric_fu/utility.rb +7 -8
  110. data/lib/metric_fu/version.rb +1 -1
  111. data/metric_fu.gemspec +31 -32
  112. data/spec/cli/helper_spec.rb +7 -14
  113. data/spec/dummy/lib/bad_encoding.rb +1 -1
  114. data/spec/fixtures/coverage-153.rb +2 -2
  115. data/spec/fixtures/coverage.rb +2 -2
  116. data/spec/metric_fu/calculate_spec.rb +3 -3
  117. data/spec/metric_fu/configuration_spec.rb +70 -82
  118. data/spec/metric_fu/data_structures/line_numbers_spec.rb +3 -5
  119. data/spec/metric_fu/data_structures/location_spec.rb +13 -31
  120. data/spec/metric_fu/formatter/configuration_spec.rb +11 -13
  121. data/spec/metric_fu/formatter/html_spec.rb +21 -28
  122. data/spec/metric_fu/formatter/yaml_spec.rb +9 -17
  123. data/spec/metric_fu/formatter_spec.rb +6 -6
  124. data/spec/metric_fu/gem_version_spec.rb +3 -5
  125. data/spec/metric_fu/generator_spec.rb +28 -38
  126. data/spec/metric_fu/loader_spec.rb +1 -3
  127. data/spec/metric_fu/metric_spec.rb +17 -21
  128. data/spec/metric_fu/metrics/cane/configuration_spec.rb +8 -8
  129. data/spec/metric_fu/metrics/cane/generator_spec.rb +26 -29
  130. data/spec/metric_fu/metrics/churn/configuration_spec.rb +6 -8
  131. data/spec/metric_fu/metrics/churn/generator_spec.rb +6 -11
  132. data/spec/metric_fu/metrics/flay/configuration_spec.rb +6 -8
  133. data/spec/metric_fu/metrics/flay/generator_spec.rb +36 -37
  134. data/spec/metric_fu/metrics/flay/grapher_spec.rb +2 -2
  135. data/spec/metric_fu/metrics/flog/configuration_spec.rb +11 -13
  136. data/spec/metric_fu/metrics/flog/generator_spec.rb +29 -31
  137. data/spec/metric_fu/metrics/flog/grapher_spec.rb +8 -10
  138. data/spec/metric_fu/metrics/hotspots/analysis/analyzed_problems_spec.rb +18 -24
  139. data/spec/metric_fu/metrics/hotspots/analysis/analyzer_tables_spec.rb +12 -17
  140. data/spec/metric_fu/metrics/hotspots/analysis/ranking_spec.rb +2 -6
  141. data/spec/metric_fu/metrics/hotspots/analysis/rankings_spec.rb +5 -14
  142. data/spec/metric_fu/metrics/hotspots/analysis/table_spec.rb +1 -3
  143. data/spec/metric_fu/metrics/hotspots/generator_spec.rb +6 -8
  144. data/spec/metric_fu/metrics/hotspots/hotspot_analyzer_spec.rb +1 -3
  145. data/spec/metric_fu/metrics/hotspots/hotspot_spec.rb +4 -5
  146. data/spec/metric_fu/metrics/rails_best_practices/configuration_spec.rb +6 -10
  147. data/spec/metric_fu/metrics/rails_best_practices/generator_spec.rb +2 -3
  148. data/spec/metric_fu/metrics/rails_best_practices/grapher_spec.rb +3 -3
  149. data/spec/metric_fu/metrics/rcov/configuration_spec.rb +20 -22
  150. data/spec/metric_fu/metrics/rcov/generator_spec.rb +6 -10
  151. data/spec/metric_fu/metrics/rcov/grapher_spec.rb +2 -2
  152. data/spec/metric_fu/metrics/rcov/hotspot_spec.rb +8 -8
  153. data/spec/metric_fu/metrics/rcov/rcov_line_spec.rb +89 -0
  154. data/spec/metric_fu/metrics/rcov/simplecov_formatter_spec.rb +31 -33
  155. data/spec/metric_fu/metrics/reek/configuration_spec.rb +6 -6
  156. data/spec/metric_fu/metrics/reek/generator_spec.rb +19 -20
  157. data/spec/metric_fu/metrics/reek/grapher_spec.rb +4 -4
  158. data/spec/metric_fu/metrics/roodi/configuration_spec.rb +7 -9
  159. data/spec/metric_fu/metrics/roodi/generator_spec.rb +3 -3
  160. data/spec/metric_fu/metrics/roodi/grapher_spec.rb +2 -2
  161. data/spec/metric_fu/metrics/saikuro/configuration_spec.rb +18 -19
  162. data/spec/metric_fu/metrics/saikuro/generator_spec.rb +7 -7
  163. data/spec/metric_fu/metrics/stats/generator_spec.rb +9 -9
  164. data/spec/metric_fu/metrics/stats/grapher_spec.rb +2 -2
  165. data/spec/metric_fu/reporter_spec.rb +3 -4
  166. data/spec/metric_fu/reporting/graphs/graph_spec.rb +1 -4
  167. data/spec/metric_fu/reporting/graphs/grapher_spec.rb +5 -5
  168. data/spec/metric_fu/reporting/result_spec.rb +9 -11
  169. data/spec/metric_fu/run_spec.rb +18 -32
  170. data/spec/metric_fu/templates/configuration_spec.rb +28 -34
  171. data/spec/metric_fu/templates/metrics_template_spec.rb +11 -0
  172. data/spec/metric_fu/templates/report_spec.rb +4 -4
  173. data/spec/metric_fu/templates/template_spec.rb +62 -48
  174. data/spec/metric_fu/utility_spec.rb +2 -2
  175. data/spec/metric_fu_spec.rb +5 -7
  176. data/spec/shared/configured.rb +9 -11
  177. data/spec/shared/test_coverage.rb +5 -9
  178. data/spec/spec_helper.rb +9 -9
  179. data/spec/support/deferred_garbaged_collection.rb +1 -2
  180. data/spec/support/matcher_create_file.rb +2 -4
  181. data/spec/support/matcher_create_files.rb +2 -4
  182. data/spec/support/suite.rb +3 -3
  183. data/spec/support/test_fixtures.rb +5 -7
  184. data/spec/support/timeout.rb +1 -1
  185. data/spec/support/usage_test.rb +23 -24
  186. data/spec/usage_test_spec.rb +18 -20
  187. metadata +12 -2
  188. metadata.gz.sig +0 -0
@@ -1,13 +1,11 @@
1
- MetricFu.lib_require { 'formatter/syntax' }
2
- MetricFu.lib_require { 'templates/template' }
3
-
1
+ MetricFu.lib_require { "formatter/syntax" }
2
+ MetricFu.lib_require { "templates/template" }
4
3
 
5
4
  # Creates an HTML document for a given analyzed file,
6
5
  # with scored metrics annotating the relevant line.
7
6
  module MetricFu
8
7
  module Templates
9
8
  class Report < MetricFu::Template
10
-
11
9
  # @param file [String] the analyzed file to annotate
12
10
  # @param lines [Hash] of line number [String] keyed to an list [[Array] of metrics for that line. Each metric in the list is a hash containing the keys :type => metric_name, :descrption => metric_score
13
11
  # @example file and lines
@@ -16,11 +14,11 @@ module MetricFu
16
14
  def initialize(file, lines)
17
15
  @file = file
18
16
  @lines = lines
19
- @data = File.open(file, 'rb') {|f| f.readlines }
17
+ @data = File.open(file, "rb") { |f| f.readlines }
20
18
  end
21
19
 
22
20
  def render
23
- erbify('report')
21
+ erbify("report")
24
22
  end
25
23
 
26
24
  def convert_ruby_to_html(ruby_text, line_number)
@@ -28,7 +26,7 @@ module MetricFu
28
26
  end
29
27
 
30
28
  def line_for_display(line, line_number)
31
- if MetricFu::Formatter::Templates.option('syntax_highlighting')
29
+ if MetricFu::Formatter::Templates.option("syntax_highlighting")
32
30
  line_for_display = convert_ruby_to_html(line, line_number)
33
31
  else
34
32
  "<a name='n#{line_number}' href='n#{line_number}'>#{line_number}</a>#{line}"
@@ -38,7 +36,6 @@ module MetricFu
38
36
  def template_directory
39
37
  File.dirname(__FILE__)
40
38
  end
41
-
42
39
  end
43
40
  end
44
41
  end
@@ -1,11 +1,10 @@
1
- require 'erb'
1
+ require "erb"
2
2
  module MetricFu
3
-
4
3
  class Template
5
4
  attr_accessor :output_directory
6
5
 
7
6
  def output_directory
8
- @output_directory || MetricFu::Io::FileSystem.directory('output_directory')
7
+ @output_directory || MetricFu::Io::FileSystem.directory("output_directory")
9
8
  end
10
9
 
11
10
  # Renders a partial and add optional instance variables to the template
@@ -18,6 +17,7 @@ module MetricFu
18
17
  end
19
18
 
20
19
  private
20
+
21
21
  # Creates a new erb evaluated result from the passed in section.
22
22
  #
23
23
  # @param section String
@@ -82,7 +82,7 @@ module MetricFu
82
82
  end
83
83
 
84
84
  def metric_template_path(metric)
85
- File.join(MetricFu.metrics_dir, metric, 'report.html.erb')
85
+ File.join(MetricFu.metrics_dir, metric, "report.html.erb")
86
86
  end
87
87
 
88
88
  # Determines whether a template file exists for a given section
@@ -118,7 +118,7 @@ module MetricFu
118
118
  # @return String
119
119
  # The contents of the css file
120
120
  def inline_css(css)
121
- css_file = File.join(MetricFu.lib_dir,'templates', css)
121
+ css_file = File.join(MetricFu.lib_dir, "templates", css)
122
122
  MetricFu::Utility.binread(css_file)
123
123
  end
124
124
 
@@ -140,11 +140,11 @@ module MetricFu
140
140
  end
141
141
 
142
142
  def round_to_tenths(decimal)
143
- decimal = 0.0 if decimal.to_s.eql?('NaN')
143
+ decimal = 0.0 if decimal.to_s.eql?("NaN")
144
144
  (decimal * 10).round / 10.0
145
145
  end
146
146
 
147
- def link_content(name, line=nil, link_content=nil) # :nodoc:
147
+ def link_content(name, line = nil, link_content = nil) # :nodoc:
148
148
  if link_content
149
149
  link_content
150
150
  elsif line
@@ -155,49 +155,45 @@ module MetricFu
155
155
  end
156
156
 
157
157
  def display_location(location)
158
- class_name, method_name = location.fetch('class_name'), location.fetch('method_name')
158
+ class_name, method_name = location.fetch("class_name"), location.fetch("method_name")
159
159
  str = ""
160
- str += link_to_filename(location.fetch('file_name'), location.fetch('line_number'))
160
+ str += link_to_filename(location.fetch("file_name"), location.fetch("line_number"))
161
161
  str += " : " if method_name || class_name
162
- if(method_name)
162
+ if method_name
163
163
  str += "#{method_name}"
164
164
  else
165
- #TODO HOTSPOTS BUG ONLY exists on move over to metric_fu
165
+ # TODO HOTSPOTS BUG ONLY exists on move over to metric_fu
166
166
  if class_name.is_a?(String)
167
- str+= "#{class_name}"
167
+ str += "#{class_name}"
168
168
  end
169
169
  end
170
170
  str
171
171
  end
172
172
 
173
173
  def file_url(name, line) # :nodoc:
174
- return '' unless name
174
+ return "" unless name
175
175
  filename = complete_file_path(name)
176
176
 
177
177
  if render_as_txmt_protocol?
178
178
  "txmt://open/?url=file://#{filename}" << (line ? "&line=#{line}" : "")
179
179
  else
180
- link_prefix = MetricFu.configuration.templates_option('link_prefix')
180
+ link_prefix = MetricFu.configuration.templates_option("link_prefix")
181
181
  if link_prefix == MetricFu::Templates::Configuration::FILE_PREFIX
182
182
  path = filename
183
183
  else
184
- path = name.gsub(/:.*$/, '')
184
+ path = name.gsub(/:.*$/, "")
185
185
  end
186
186
  "#{link_prefix}/#{path}"
187
187
  end
188
188
  end
189
189
 
190
190
  def complete_file_path(filename)
191
- File.expand_path(remove_leading_slash(filename))
192
- end
193
-
194
- def remove_leading_slash(filename)
195
- filename.gsub(/^\//, '')
191
+ File.expand_path(filename)
196
192
  end
197
193
 
198
194
  def render_as_txmt_protocol? # :nodoc:
199
195
  if MetricFu.configuration.osx?
200
- !MetricFu.configuration.templates_option('darwin_txmt_protocol_no_thanks')
196
+ !MetricFu.configuration.templates_option("darwin_txmt_protocol_no_thanks")
201
197
  else
202
198
  false
203
199
  end
@@ -219,14 +215,14 @@ module MetricFu
219
215
  # iteration is odd.
220
216
  def cycle(first_value, second_value, iteration)
221
217
  return first_value if iteration % 2 == 0
222
- return second_value
218
+ second_value
223
219
  end
224
220
 
225
221
  # available in the erb template
226
222
  # as it's processed in the context of
227
223
  # the binding of this class
228
224
  def metric_links
229
- @metrics.keys.map {|metric| metric_link(metric.to_s) }
225
+ @metrics.keys.map { |metric| metric_link(metric.to_s) }
230
226
  end
231
227
 
232
228
  def metric_link(metric)
@@ -238,7 +234,7 @@ module MetricFu
238
234
  end
239
235
 
240
236
  def snake_case_to_title_case(string)
241
- string.split('_').collect{|word| word[0] = word[0..0].upcase; word}.join(" ")
237
+ string.split("_").collect { |word| word[0] = word[0..0].upcase; word }.join(" ")
242
238
  end
243
239
 
244
240
  def template_directory
@@ -1,5 +1,5 @@
1
- require 'yaml'
2
- require 'fileutils'
1
+ require "yaml"
2
+ require "fileutils"
3
3
  module MetricFu
4
4
  module Utility
5
5
  module_function
@@ -10,17 +10,17 @@ module MetricFu
10
10
  def clean_ascii_text(text)
11
11
  if text.respond_to?(:encode)
12
12
  # avoids invalid multi-byte escape error
13
- ascii_text = text.encode( 'ASCII', invalid: :replace, undef: :replace, replace: '' )
13
+ ascii_text = text.encode("ASCII", invalid: :replace, undef: :replace, replace: "")
14
14
  # see http://www.ruby-forum.com/topic/183413
15
- pattern = Regexp.new('[\x80-\xff]', nil, 'n')
16
- ascii_text.gsub(pattern, '')
15
+ pattern = Regexp.new('[\x80-\xff]', nil, "n")
16
+ ascii_text.gsub(pattern, "")
17
17
  else
18
18
  text
19
19
  end
20
20
  end
21
21
 
22
22
  def strip_escape_codes(text)
23
- text.gsub(ESCAPE_CODES_PATTERN, '')
23
+ text.gsub(ESCAPE_CODES_PATTERN, "")
24
24
  end
25
25
 
26
26
  def rm_rf(*args)
@@ -45,7 +45,7 @@ module MetricFu
45
45
 
46
46
  # From episode 029 of Ruby Tapas by Avdi
47
47
  # https://rubytapas.dpdcart.com/subscriber/post?id=88
48
- def capture_output(stream=STDOUT, &block)
48
+ def capture_output(stream = STDOUT, &_block)
49
49
  old_stdout = stream.clone
50
50
  pipe_r, pipe_w = IO.pipe
51
51
  pipe_r.sync = true
@@ -67,6 +67,5 @@ module MetricFu
67
67
  pipe_r.close
68
68
  return output
69
69
  end
70
-
71
70
  end
72
71
  end
@@ -1,3 +1,3 @@
1
1
  module MetricFu
2
- VERSION = '4.11.3'
2
+ VERSION = "4.11.4"
3
3
  end
@@ -1,6 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  $:.push File.expand_path("../lib", __FILE__)
3
- require 'metric_fu/version'
3
+ require "metric_fu/version"
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "metric_fu"
@@ -8,33 +8,33 @@ Gem::Specification.new do |s|
8
8
  s.summary = "A fistful of code metrics, with awesome templates and graphs"
9
9
  s.description = "Code metrics from Flog, Flay, Saikuro, Churn, Reek, Roodi, Code Statistics, and Rails Best Practices. (and optionally RCov)"
10
10
  s.email = "github@benjaminfleischer.com"
11
- author_file = File.expand_path('AUTHORS', File.dirname(__FILE__))
12
- s.authors = File.readlines(author_file, :encoding => Encoding::UTF_8).map(&:strip)
11
+ author_file = File.expand_path("AUTHORS", File.dirname(__FILE__))
12
+ s.authors = File.readlines(author_file, encoding: Encoding::UTF_8).map(&:strip)
13
13
 
14
14
  # used with gem i metric_fu -P HighSecurity
15
- s.cert_chain = ['certs/bf4.pem']
15
+ s.cert_chain = ["certs/bf4.pem"]
16
16
  # Sign gem when evaluating spec with `gem` command
17
17
  # unless ENV has set a SKIP_GEM_SIGNING
18
- if ($0 =~ /gem\z/) and not ENV.include?('SKIP_GEM_SIGNING')
19
- s.signing_key = File.join(Gem.user_home, '.ssh', 'gem-private_key.pem')
18
+ if ($0 =~ /gem\z/) and not ENV.include?("SKIP_GEM_SIGNING")
19
+ s.signing_key = File.join(Gem.user_home, ".ssh", "gem-private_key.pem")
20
20
  end
21
21
 
22
- s.rubyforge_project = 'metric_fu'
23
- s.license = 'MIT'
22
+ s.rubyforge_project = "metric_fu"
23
+ s.license = "MIT"
24
24
  s.platform = Gem::Platform::RUBY
25
25
  s.version = MetricFu::VERSION
26
26
  s.required_ruby_version = ">= 1.9.0"
27
27
  s.required_rubygems_version = ">= 1.3.6"
28
28
 
29
- tracked_files = `git ls-files`.split($\)
30
- excluded_dirs = %r{\Aetc}
31
- files = tracked_files.reject{|file| file[excluded_dirs] }
32
- test_files = files.grep(%r{^(test|spec|features)/})
33
- executables = files.grep(%r{^bin/}).map{ |f| File.basename(f) }
29
+ tracked_files = `git ls-files`.split($\)
30
+ excluded_dirs = %r{\Aetc}
31
+ files = tracked_files.reject { |file| file[excluded_dirs] }
32
+ test_files = files.grep(%r{^(test|spec|features)/})
33
+ executables = files.grep(%r{^bin/}).map { |f| File.basename(f) }
34
34
  s.files = files
35
35
  s.test_files = test_files
36
36
  s.executables = executables
37
- s.default_executable = %q{metric_fu}
37
+ s.default_executable = "metric_fu"
38
38
  s.require_paths = ["lib"]
39
39
 
40
40
  s.has_rdoc = true
@@ -42,31 +42,30 @@ Gem::Specification.new do |s|
42
42
  s.rdoc_options = ["--main", "README.md"]
43
43
 
44
44
  # metric dependencies
45
- s.add_runtime_dependency 'flay', ['>= 2.0.1', '~> 2.1']
46
- s.add_runtime_dependency 'churn', ['~> 0.0.35']
47
- s.add_runtime_dependency 'flog', ['>= 4.1.1', '~> 4.1']
48
- s.add_runtime_dependency 'reek', ['>= 1.3.4', '~> 1.3']
49
- s.add_runtime_dependency 'cane', ['>= 2.5.2', '~> 2.5']
50
- s.add_runtime_dependency 'rails_best_practices', ['>= 1.14.3', '~> 1.14']
51
- s.add_runtime_dependency 'metric_fu-Saikuro', ['>= 1.1.3', '~> 1.1']
52
- s.add_runtime_dependency 'roodi', ['~> 3.1']
53
- s.add_runtime_dependency 'code_metrics', ['~> 0.1']
45
+ s.add_runtime_dependency "flay", [">= 2.0.1", "~> 2.1"]
46
+ s.add_runtime_dependency "churn", ["~> 0.0.35"]
47
+ s.add_runtime_dependency "flog", [">= 4.1.1", "~> 4.1"]
48
+ s.add_runtime_dependency "reek", [">= 1.3.4", "~> 1.3"]
49
+ s.add_runtime_dependency "cane", [">= 2.5.2", "~> 2.5"]
50
+ s.add_runtime_dependency "rails_best_practices", [">= 1.14.3", "~> 1.14"]
51
+ s.add_runtime_dependency "metric_fu-Saikuro", [">= 1.1.3", "~> 1.1"]
52
+ s.add_runtime_dependency "roodi", ["~> 3.1"]
53
+ s.add_runtime_dependency "code_metrics", ["~> 0.1"]
54
54
 
55
55
  # other dependencies
56
56
  # ruby version identification
57
- s.add_runtime_dependency 'redcard'
57
+ s.add_runtime_dependency "redcard"
58
58
  # syntax highlighting
59
- s.add_runtime_dependency 'coderay'
59
+ s.add_runtime_dependency "coderay"
60
60
  # to_json support
61
- s.add_runtime_dependency 'multi_json'
61
+ s.add_runtime_dependency "multi_json"
62
62
  # open browser support
63
- s.add_runtime_dependency 'launchy', '~> 2.0'
63
+ s.add_runtime_dependency "launchy", "~> 2.0"
64
64
 
65
- s.add_development_dependency 'rspec', '~> 3.1'
65
+ s.add_development_dependency "rspec", "~> 3.1"
66
66
  # temporary filesystem to act on
67
- s.add_development_dependency 'test_construct'
67
+ s.add_development_dependency "test_construct"
68
68
  # ensure we have a JSON parser
69
- s.add_development_dependency 'json'
70
- s.add_development_dependency 'simplecov', '~> 0.9'
71
-
69
+ s.add_development_dependency "json"
70
+ s.add_development_dependency "simplecov", "~> 0.9"
72
71
  end
@@ -1,19 +1,16 @@
1
- require 'spec_helper'
2
- require 'metric_fu/cli/helper'
1
+ require "spec_helper"
2
+ require "metric_fu/cli/helper"
3
3
  MetricFu.configuration.configure_metric(:rcov) do |rcov|
4
4
  rcov.enabled = true
5
5
  end
6
6
  MetricFu.configure
7
7
 
8
8
  describe MetricFu::Cli::Helper do
9
-
10
9
  describe "defaults" do
11
-
12
10
  let(:helper) { MetricFu::Cli::Helper.new }
13
11
  let(:defaults) { helper.process_options }
14
12
 
15
13
  context "on every Ruby version" do
16
-
17
14
  it "opens the report in a browser" do
18
15
  expect(defaults[:open]).to be_truthy
19
16
  end
@@ -59,12 +56,11 @@ describe MetricFu::Cli::Helper do
59
56
 
60
57
  if MetricFu.configuration.mri?
61
58
 
62
- it "enables Rails Best Practices" do
63
- expect(defaults[:rails_best_practices]).to be_truthy
64
- end
59
+ it "enables Rails Best Practices" do
60
+ expect(defaults[:rails_best_practices]).to be_truthy
61
+ end
65
62
 
66
63
  end
67
-
68
64
  end
69
65
 
70
66
  describe ".parse" do
@@ -122,7 +118,6 @@ describe MetricFu::Cli::Helper do
122
118
 
123
119
  end
124
120
 
125
-
126
121
  it "turns hotspots off" do
127
122
  expect(helper.process_options(["--no-hotspots"])[:hotspots]).to be_falsey
128
123
  end
@@ -157,16 +152,14 @@ describe MetricFu::Cli::Helper do
157
152
 
158
153
  context "given a single format" do
159
154
  it "sets the format" do
160
- expect(helper.process_options(["--format", "json"])[:format]).to eq([['json']])
155
+ expect(helper.process_options(["--format", "json"])[:format]).to eq([["json"]])
161
156
  end
162
157
  end
163
158
 
164
159
  context "given multiple formats" do
165
160
  it "sets multiple formats" do
166
- expect(helper.process_options(["--format", "json", "--format", "yaml"])[:format]).to eq([['json'], ['yaml']])
161
+ expect(helper.process_options(["--format", "json", "--format", "yaml"])[:format]).to eq([["json"], ["yaml"]])
167
162
  end
168
163
  end
169
-
170
164
  end
171
-
172
165
  end
@@ -1,6 +1,6 @@
1
1
  # coding: utf-8
2
2
  class SomeClass
3
- def initialize(a,b,c)
3
+ def initialize(_a, _b, _c)
4
4
  "hey, invalid ASCII\xED"
5
5
  end
6
6
  end
@@ -3,9 +3,9 @@ class A
3
3
  def m(arg1)
4
4
  p "this is my method" # Assume that none of the line covered in this method
5
5
  if arg1 > 5
6
- p 'more than 5'
6
+ p "more than 5"
7
7
  else
8
- p 'not more than 5'
8
+ p "not more than 5"
9
9
  end
10
10
  end
11
11
  end
@@ -1,9 +1,9 @@
1
1
  class SomeClass
2
2
  def method_1
3
- 1+1
3
+ 1 + 1
4
4
  end
5
5
 
6
- def method_2 ( value )
6
+ def method_2(value)
7
7
  value * value
8
8
  end
9
9
 
@@ -1,5 +1,5 @@
1
- require 'spec_helper'
2
- MetricFu.lib_require { 'calculate' }
1
+ require "spec_helper"
2
+ MetricFu.lib_require { "calculate" }
3
3
 
4
4
  describe MetricFu::Calculate do
5
5
  describe "returns a percent rounded to the nearest integer" do
@@ -15,7 +15,7 @@ describe MetricFu::Calculate do
15
15
  }.to raise_error(ArgumentError)
16
16
  end
17
17
  it "returns 0 when the denominator is 0" do
18
- expect(MetricFu::Calculate.integer_percent(3,0)).to eq(0)
18
+ expect(MetricFu::Calculate.integer_percent(3, 0)).to eq(0)
19
19
  end
20
20
  end
21
21
  end