rubocop 0.18.1 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rubocop might be problematic. Click here for more details.

Files changed (398) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/CHANGELOG.md +65 -1
  4. data/Gemfile +0 -3
  5. data/LICENSE.txt +1 -1
  6. data/README.md +179 -77
  7. data/Rakefile +8 -0
  8. data/config/default.yml +151 -14
  9. data/config/enabled.yml +65 -8
  10. data/lib/rubocop.rb +19 -4
  11. data/lib/rubocop/cli.rb +2 -1
  12. data/lib/rubocop/comment_config.rb +97 -0
  13. data/lib/rubocop/config.rb +1 -1
  14. data/lib/rubocop/config_loader.rb +3 -2
  15. data/lib/rubocop/config_store.rb +6 -2
  16. data/lib/rubocop/cop/commissioner.rb +2 -2
  17. data/lib/rubocop/cop/cop.rb +22 -26
  18. data/lib/rubocop/cop/lint/ambiguous_operator.rb +2 -2
  19. data/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +1 -1
  20. data/lib/rubocop/cop/lint/assignment_in_condition.rb +1 -1
  21. data/lib/rubocop/cop/lint/block_alignment.rb +6 -6
  22. data/lib/rubocop/cop/lint/condition_position.rb +1 -1
  23. data/lib/rubocop/cop/lint/debugger.rb +1 -1
  24. data/lib/rubocop/cop/lint/deprecated_class_methods.rb +60 -0
  25. data/lib/rubocop/cop/lint/else_layout.rb +1 -1
  26. data/lib/rubocop/cop/lint/empty_ensure.rb +1 -1
  27. data/lib/rubocop/cop/lint/end_alignment.rb +14 -12
  28. data/lib/rubocop/cop/lint/end_in_method.rb +1 -1
  29. data/lib/rubocop/cop/lint/ensure_return.rb +1 -1
  30. data/lib/rubocop/cop/lint/eval.rb +1 -1
  31. data/lib/rubocop/cop/lint/handle_exceptions.rb +1 -1
  32. data/lib/rubocop/cop/lint/literal_in_condition.rb +13 -2
  33. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +28 -0
  34. data/lib/rubocop/cop/lint/loop.rb +4 -4
  35. data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +1 -1
  36. data/lib/rubocop/cop/lint/require_parentheses.rb +6 -6
  37. data/lib/rubocop/cop/lint/rescue_exception.rb +1 -1
  38. data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +2 -2
  39. data/lib/rubocop/cop/lint/string_conversion_in_interpolation.rb +30 -0
  40. data/lib/rubocop/cop/lint/syntax.rb +5 -5
  41. data/lib/rubocop/cop/lint/unreachable_code.rb +1 -1
  42. data/lib/rubocop/cop/lint/useless_assignment.rb +5 -5
  43. data/lib/rubocop/cop/lint/useless_comparison.rb +1 -1
  44. data/lib/rubocop/cop/lint/useless_setter_call.rb +1 -1
  45. data/lib/rubocop/cop/lint/void.rb +5 -5
  46. data/lib/rubocop/cop/mixin/autocorrect_alignment.rb +8 -5
  47. data/lib/rubocop/cop/mixin/code_length.rb +2 -2
  48. data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +7 -7
  49. data/lib/rubocop/cop/mixin/configurable_max.rb +1 -1
  50. data/lib/rubocop/cop/mixin/configurable_naming.rb +1 -1
  51. data/lib/rubocop/cop/mixin/if_then_else.rb +1 -1
  52. data/lib/rubocop/cop/mixin/negative_conditional.rb +1 -1
  53. data/lib/rubocop/cop/mixin/parser_diagnostic.rb +2 -2
  54. data/lib/rubocop/cop/mixin/space_after_punctuation.rb +3 -2
  55. data/lib/rubocop/cop/mixin/space_inside.rb +1 -1
  56. data/lib/rubocop/cop/mixin/statement_modifier.rb +1 -0
  57. data/lib/rubocop/cop/mixin/string_help.rb +4 -4
  58. data/lib/rubocop/cop/{offence.rb → offense.rb} +7 -7
  59. data/lib/rubocop/cop/rails/action_filter.rb +73 -0
  60. data/lib/rubocop/cop/rails/default_scope.rb +1 -1
  61. data/lib/rubocop/cop/rails/has_and_belongs_to_many.rb +1 -1
  62. data/lib/rubocop/cop/rails/output.rb +1 -10
  63. data/lib/rubocop/cop/rails/read_attribute.rb +1 -1
  64. data/lib/rubocop/cop/rails/scope_args.rb +33 -0
  65. data/lib/rubocop/cop/rails/validation.rb +1 -1
  66. data/lib/rubocop/cop/style/access_modifier_indentation.rb +1 -1
  67. data/lib/rubocop/cop/style/accessor_method_name.rb +2 -2
  68. data/lib/rubocop/cop/style/alias.rb +2 -2
  69. data/lib/rubocop/cop/style/align_array.rb +1 -1
  70. data/lib/rubocop/cop/style/align_hash.rb +29 -2
  71. data/lib/rubocop/cop/style/align_parameters.rb +16 -2
  72. data/lib/rubocop/cop/style/and_or.rb +2 -2
  73. data/lib/rubocop/cop/style/ascii_comments.rb +1 -1
  74. data/lib/rubocop/cop/style/ascii_identifiers.rb +1 -1
  75. data/lib/rubocop/cop/style/attr.rb +1 -1
  76. data/lib/rubocop/cop/style/begin_block.rb +1 -1
  77. data/lib/rubocop/cop/style/block_comments.rb +1 -1
  78. data/lib/rubocop/cop/style/block_nesting.rb +1 -1
  79. data/lib/rubocop/cop/style/blocks.rb +2 -2
  80. data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +2 -2
  81. data/lib/rubocop/cop/style/case_equality.rb +1 -1
  82. data/lib/rubocop/cop/style/case_indentation.rb +2 -2
  83. data/lib/rubocop/cop/style/character_literal.rb +2 -2
  84. data/lib/rubocop/cop/style/class_and_module_camel_case.rb +1 -1
  85. data/lib/rubocop/cop/style/class_and_module_children.rb +69 -0
  86. data/lib/rubocop/cop/style/class_methods.rb +1 -1
  87. data/lib/rubocop/cop/style/class_vars.rb +3 -3
  88. data/lib/rubocop/cop/style/collection_methods.rb +4 -4
  89. data/lib/rubocop/cop/style/colon_method_call.rb +1 -1
  90. data/lib/rubocop/cop/style/comment_annotation.rb +1 -1
  91. data/lib/rubocop/cop/style/constant_name.rb +1 -1
  92. data/lib/rubocop/cop/style/cyclomatic_complexity.rb +2 -2
  93. data/lib/rubocop/cop/style/def_parentheses.rb +2 -2
  94. data/lib/rubocop/cop/style/documentation.rb +1 -1
  95. data/lib/rubocop/cop/style/dot_position.rb +10 -11
  96. data/lib/rubocop/cop/style/double_negation.rb +40 -0
  97. data/lib/rubocop/cop/style/empty_line_between_defs.rb +8 -1
  98. data/lib/rubocop/cop/style/empty_lines.rb +3 -2
  99. data/lib/rubocop/cop/style/empty_lines_around_access_modifier.rb +1 -1
  100. data/lib/rubocop/cop/style/empty_lines_around_body.rb +1 -1
  101. data/lib/rubocop/cop/style/empty_literal.rb +3 -3
  102. data/lib/rubocop/cop/style/encoding.rb +1 -1
  103. data/lib/rubocop/cop/style/end_block.rb +1 -1
  104. data/lib/rubocop/cop/style/end_of_line.rb +2 -2
  105. data/lib/rubocop/cop/style/even_odd.rb +2 -2
  106. data/lib/rubocop/cop/style/favor_join.rb +1 -1
  107. data/lib/rubocop/cop/style/file_name.rb +29 -0
  108. data/lib/rubocop/cop/style/final_newline.rb +1 -1
  109. data/lib/rubocop/cop/style/flip_flop.rb +2 -2
  110. data/lib/rubocop/cop/style/for.rb +2 -2
  111. data/lib/rubocop/cop/style/format_string.rb +66 -0
  112. data/lib/rubocop/cop/style/global_vars.rb +2 -2
  113. data/lib/rubocop/cop/style/hash_methods.rb +1 -1
  114. data/lib/rubocop/cop/style/hash_syntax.rb +3 -3
  115. data/lib/rubocop/cop/style/if_unless_modifier.rb +2 -1
  116. data/lib/rubocop/cop/style/indent_array.rb +41 -0
  117. data/lib/rubocop/cop/style/indent_hash.rb +119 -0
  118. data/lib/rubocop/cop/style/indentation_consistency.rb +3 -11
  119. data/lib/rubocop/cop/style/indentation_width.rb +44 -23
  120. data/lib/rubocop/cop/style/lambda.rb +2 -2
  121. data/lib/rubocop/cop/style/lambda_call.rb +3 -3
  122. data/lib/rubocop/cop/style/leading_comment_space.rb +1 -1
  123. data/lib/rubocop/cop/style/line_end_concatenation.rb +7 -3
  124. data/lib/rubocop/cop/style/line_length.rb +2 -2
  125. data/lib/rubocop/cop/style/method_call_parentheses.rb +2 -2
  126. data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +2 -2
  127. data/lib/rubocop/cop/style/method_def_parentheses.rb +9 -7
  128. data/lib/rubocop/cop/style/module_function.rb +1 -1
  129. data/lib/rubocop/cop/style/multiline_block_chain.rb +1 -1
  130. data/lib/rubocop/cop/style/multiline_ternary_operator.rb +1 -1
  131. data/lib/rubocop/cop/style/nested_ternary_operator.rb +2 -2
  132. data/lib/rubocop/cop/style/nil_comparison.rb +1 -1
  133. data/lib/rubocop/cop/style/not.rb +1 -1
  134. data/lib/rubocop/cop/style/numeric_literals.rb +5 -5
  135. data/lib/rubocop/cop/style/op_method.rb +2 -2
  136. data/lib/rubocop/cop/style/parameter_lists.rb +1 -1
  137. data/lib/rubocop/cop/style/parentheses_around_condition.rb +5 -4
  138. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +143 -0
  139. data/lib/rubocop/cop/style/perl_backrefs.rb +1 -1
  140. data/lib/rubocop/cop/style/predicate_name.rb +1 -1
  141. data/lib/rubocop/cop/style/proc.rb +1 -1
  142. data/lib/rubocop/cop/style/raise_args.rb +2 -2
  143. data/lib/rubocop/cop/style/redundant_begin.rb +1 -1
  144. data/lib/rubocop/cop/style/redundant_exception.rb +1 -1
  145. data/lib/rubocop/cop/style/redundant_return.rb +1 -1
  146. data/lib/rubocop/cop/style/redundant_self.rb +2 -2
  147. data/lib/rubocop/cop/style/regexp_literal.rb +45 -19
  148. data/lib/rubocop/cop/style/rescue_modifier.rb +1 -1
  149. data/lib/rubocop/cop/style/self_assignment.rb +73 -0
  150. data/lib/rubocop/cop/style/semicolon.rb +12 -8
  151. data/lib/rubocop/cop/style/signal_exception.rb +2 -2
  152. data/lib/rubocop/cop/style/single_line_block_params.rb +1 -1
  153. data/lib/rubocop/cop/style/single_line_methods.rb +38 -1
  154. data/lib/rubocop/cop/style/space_after_colon.rb +3 -3
  155. data/lib/rubocop/cop/style/space_after_comma.rb +1 -1
  156. data/lib/rubocop/cop/style/space_after_control_keyword.rb +1 -1
  157. data/lib/rubocop/cop/style/space_after_method_name.rb +11 -3
  158. data/lib/rubocop/cop/style/space_after_not.rb +1 -1
  159. data/lib/rubocop/cop/style/space_after_semicolon.rb +1 -1
  160. data/lib/rubocop/cop/style/space_around_equals_in_parameter_default.rb +41 -6
  161. data/lib/rubocop/cop/style/space_around_operators.rb +4 -4
  162. data/lib/rubocop/cop/style/space_before_block_braces.rb +63 -0
  163. data/lib/rubocop/cop/style/space_before_modifier_keyword.rb +1 -1
  164. data/lib/rubocop/cop/style/{space_around_block_braces.rb → space_inside_block_braces.rb} +15 -24
  165. data/lib/rubocop/cop/style/space_inside_hash_literal_braces.rb +14 -7
  166. data/lib/rubocop/cop/style/special_global_vars.rb +1 -1
  167. data/lib/rubocop/cop/style/string_literals.rb +1 -1
  168. data/lib/rubocop/cop/style/symbol_array.rb +1 -1
  169. data/lib/rubocop/cop/style/tab.rb +1 -1
  170. data/lib/rubocop/cop/style/trailing_blank_lines.rb +2 -2
  171. data/lib/rubocop/cop/style/trailing_comma.rb +4 -4
  172. data/lib/rubocop/cop/style/trailing_whitespace.rb +1 -1
  173. data/lib/rubocop/cop/style/trivial_accessors.rb +2 -2
  174. data/lib/rubocop/cop/style/unless_else.rb +1 -1
  175. data/lib/rubocop/cop/style/variable_interpolation.rb +1 -1
  176. data/lib/rubocop/cop/style/when_then.rb +1 -1
  177. data/lib/rubocop/cop/style/while_until_do.rb +1 -1
  178. data/lib/rubocop/cop/style/while_until_modifier.rb +2 -1
  179. data/lib/rubocop/cop/style/word_array.rb +2 -2
  180. data/lib/rubocop/cop/team.rb +24 -7
  181. data/lib/rubocop/cop/util.rb +3 -3
  182. data/lib/rubocop/cop/variable_inspector.rb +25 -13
  183. data/lib/rubocop/cop/variable_inspector/assignment.rb +1 -1
  184. data/lib/rubocop/cop/variable_inspector/reference.rb +1 -1
  185. data/lib/rubocop/cop/variable_inspector/scope.rb +1 -1
  186. data/lib/rubocop/cop/variable_inspector/variable.rb +2 -2
  187. data/lib/rubocop/cop/variable_inspector/variable_table.rb +1 -1
  188. data/lib/rubocop/file_inspector.rb +12 -13
  189. data/lib/rubocop/formatter/base_formatter.rb +4 -4
  190. data/lib/rubocop/formatter/clang_style_formatter.rb +2 -2
  191. data/lib/rubocop/formatter/disabled_config_formatter.rb +12 -12
  192. data/lib/rubocop/formatter/emacs_style_formatter.rb +3 -2
  193. data/lib/rubocop/formatter/file_list_formatter.rb +4 -4
  194. data/lib/rubocop/formatter/formatter_set.rb +2 -1
  195. data/lib/rubocop/formatter/fuubar_style_formatter.rb +76 -0
  196. data/lib/rubocop/formatter/json_formatter.rb +17 -16
  197. data/lib/rubocop/formatter/offense_count_formatter.rb +54 -0
  198. data/lib/rubocop/formatter/progress_formatter.rb +16 -16
  199. data/lib/rubocop/formatter/simple_text_formatter.rb +25 -25
  200. data/lib/rubocop/options.rb +8 -7
  201. data/lib/rubocop/processed_source.rb +3 -2
  202. data/lib/rubocop/source_parser.rb +1 -59
  203. data/lib/rubocop/version.rb +3 -3
  204. data/relnotes/0.19.0.md +70 -0
  205. data/rubocop-todo.yml +6 -6
  206. data/rubocop.gemspec +2 -1
  207. data/spec/rubocop/cli_spec.rb +431 -268
  208. data/spec/rubocop/comment_config_spec.rb +103 -0
  209. data/spec/rubocop/config_loader_spec.rb +4 -4
  210. data/spec/rubocop/cop/commissioner_spec.rb +7 -7
  211. data/spec/rubocop/cop/cop_spec.rb +17 -17
  212. data/spec/rubocop/cop/lint/ambiguous_operator_spec.rb +16 -16
  213. data/spec/rubocop/cop/lint/ambiguous_regexp_literal_spec.rb +5 -5
  214. data/spec/rubocop/cop/lint/assignment_in_condition_spec.rb +19 -19
  215. data/spec/rubocop/cop/lint/block_alignment_spec.rb +52 -52
  216. data/spec/rubocop/cop/lint/condition_position_spec.rb +7 -7
  217. data/spec/rubocop/cop/lint/debugger_spec.rb +10 -10
  218. data/spec/rubocop/cop/lint/deprecated_class_methods_spec.rb +33 -0
  219. data/spec/rubocop/cop/lint/else_layout_spec.rb +7 -7
  220. data/spec/rubocop/cop/lint/empty_ensure_spec.rb +4 -4
  221. data/spec/rubocop/cop/lint/end_alignment_spec.rb +33 -34
  222. data/spec/rubocop/cop/lint/end_in_method_spec.rb +5 -5
  223. data/spec/rubocop/cop/lint/ensure_return_spec.rb +4 -4
  224. data/spec/rubocop/cop/lint/eval_spec.rb +8 -8
  225. data/spec/rubocop/cop/lint/handle_exceptions_spec.rb +4 -4
  226. data/spec/rubocop/cop/lint/invalid_character_literal_spec.rb +3 -3
  227. data/spec/rubocop/cop/lint/literal_in_condition_spec.rb +65 -10
  228. data/spec/rubocop/cop/lint/literal_in_interpolation_spec.rb +21 -0
  229. data/spec/rubocop/cop/lint/loop_spec.rb +6 -6
  230. data/spec/rubocop/cop/lint/parentheses_as_grouped_expression_spec.rb +14 -14
  231. data/spec/rubocop/cop/lint/require_parentheses_spec.rb +15 -15
  232. data/spec/rubocop/cop/lint/rescue_exception_spec.rb +21 -21
  233. data/spec/rubocop/cop/lint/shadowing_outer_local_variable_spec.rb +16 -16
  234. data/spec/rubocop/cop/lint/string_conversion_in_interpolation_spec.rb +27 -0
  235. data/spec/rubocop/cop/lint/syntax_spec.rb +11 -11
  236. data/spec/rubocop/cop/lint/unreachable_code_spec.rb +8 -8
  237. data/spec/rubocop/cop/lint/useless_assignment_spec.rb +207 -169
  238. data/spec/rubocop/cop/lint/useless_comparison_spec.rb +5 -5
  239. data/spec/rubocop/cop/lint/useless_else_without_rescue_spec.rb +4 -4
  240. data/spec/rubocop/cop/lint/useless_setter_call_spec.rb +17 -17
  241. data/spec/rubocop/cop/lint/void_spec.rb +8 -8
  242. data/spec/rubocop/cop/{offence_spec.rb → offense_spec.rb} +17 -17
  243. data/spec/rubocop/cop/rails/action_filter_spec.rb +69 -0
  244. data/spec/rubocop/cop/rails/default_scope_spec.rb +9 -9
  245. data/spec/rubocop/cop/rails/has_and_belongs_to_many_spec.rb +2 -2
  246. data/spec/rubocop/cop/rails/output_spec.rb +8 -18
  247. data/spec/rubocop/cop/rails/read_attribute_spec.rb +2 -2
  248. data/spec/rubocop/cop/rails/scope_args_spec.rb +25 -0
  249. data/spec/rubocop/cop/rails/validation_spec.rb +3 -3
  250. data/spec/rubocop/cop/style/access_modifier_indentation_spec.rb +38 -38
  251. data/spec/rubocop/cop/style/accessor_method_name_spec.rb +14 -14
  252. data/spec/rubocop/cop/style/alias_spec.rb +11 -11
  253. data/spec/rubocop/cop/style/align_array_spec.rb +23 -7
  254. data/spec/rubocop/cop/style/align_hash_spec.rb +111 -30
  255. data/spec/rubocop/cop/style/align_parameters_spec.rb +260 -187
  256. data/spec/rubocop/cop/style/and_or_spec.rb +6 -6
  257. data/spec/rubocop/cop/style/ascii_comments_spec.rb +3 -3
  258. data/spec/rubocop/cop/style/ascii_identifiers_spec.rb +5 -5
  259. data/spec/rubocop/cop/style/attr_spec.rb +2 -2
  260. data/spec/rubocop/cop/style/begin_block_spec.rb +2 -2
  261. data/spec/rubocop/cop/style/block_comments_spec.rb +3 -3
  262. data/spec/rubocop/cop/style/block_nesting_spec.rb +26 -26
  263. data/spec/rubocop/cop/style/blocks_spec.rb +8 -8
  264. data/spec/rubocop/cop/style/braces_around_hash_parameters_spec.rb +8 -8
  265. data/spec/rubocop/cop/style/case_equality_spec.rb +2 -2
  266. data/spec/rubocop/cop/style/case_indentation_spec.rb +21 -21
  267. data/spec/rubocop/cop/style/character_literal_spec.rb +6 -6
  268. data/spec/rubocop/cop/style/class_and_module_camel_case_spec.rb +4 -4
  269. data/spec/rubocop/cop/style/class_and_module_children_spec.rb +129 -0
  270. data/spec/rubocop/cop/style/class_length_spec.rb +9 -9
  271. data/spec/rubocop/cop/style/class_methods_spec.rb +8 -8
  272. data/spec/rubocop/cop/style/class_vars_spec.rb +4 -4
  273. data/spec/rubocop/cop/style/collection_methods_spec.rb +6 -6
  274. data/spec/rubocop/cop/style/colon_method_call_spec.rb +16 -16
  275. data/spec/rubocop/cop/style/comment_annotation_spec.rb +16 -16
  276. data/spec/rubocop/cop/style/constant_name_spec.rb +12 -12
  277. data/spec/rubocop/cop/style/cyclomatic_complexity_spec.rb +16 -16
  278. data/spec/rubocop/cop/style/def_with_parentheses_spec.rb +6 -6
  279. data/spec/rubocop/cop/style/documentation_spec.rb +14 -14
  280. data/spec/rubocop/cop/style/dot_position_spec.rb +23 -26
  281. data/spec/rubocop/cop/style/double_negation_spec.rb +22 -0
  282. data/spec/rubocop/cop/style/empty_line_between_defs_spec.rb +22 -14
  283. data/spec/rubocop/cop/style/empty_lines_around_access_modifier_spec.rb +4 -4
  284. data/spec/rubocop/cop/style/empty_lines_around_body_spec.rb +20 -20
  285. data/spec/rubocop/cop/style/empty_lines_spec.rb +17 -6
  286. data/spec/rubocop/cop/style/empty_literal_spec.rb +20 -20
  287. data/spec/rubocop/cop/style/encoding_spec.rb +5 -5
  288. data/spec/rubocop/cop/style/end_block_spec.rb +2 -2
  289. data/spec/rubocop/cop/style/end_of_line_spec.rb +4 -4
  290. data/spec/rubocop/cop/style/even_odd_spec.rb +18 -18
  291. data/spec/rubocop/cop/style/favor_join_spec.rb +7 -7
  292. data/spec/rubocop/cop/style/favor_unless_over_negated_if_spec.rb +7 -7
  293. data/spec/rubocop/cop/style/favor_until_over_negated_while_spec.rb +3 -3
  294. data/spec/rubocop/cop/style/file_name_spec.rb +71 -0
  295. data/spec/rubocop/cop/style/final_newline_spec.rb +4 -4
  296. data/spec/rubocop/cop/style/flip_flop_spec.rb +4 -4
  297. data/spec/rubocop/cop/style/for_spec.rb +13 -13
  298. data/spec/rubocop/cop/style/format_string_spec.rb +136 -0
  299. data/spec/rubocop/cop/style/global_vars_spec.rb +7 -7
  300. data/spec/rubocop/cop/style/hash_methods_spec.rb +6 -6
  301. data/spec/rubocop/cop/style/hash_syntax_spec.rb +11 -11
  302. data/spec/rubocop/cop/style/if_unless_modifier_spec.rb +29 -11
  303. data/spec/rubocop/cop/style/if_with_semicolon_spec.rb +1 -1
  304. data/spec/rubocop/cop/style/indent_array_spec.rb +136 -0
  305. data/spec/rubocop/cop/style/indent_hash_spec.rb +238 -0
  306. data/spec/rubocop/cop/style/indentation_consistency_spec.rb +69 -49
  307. data/spec/rubocop/cop/style/indentation_width_spec.rb +264 -128
  308. data/spec/rubocop/cop/style/lambda_call_spec.rb +14 -14
  309. data/spec/rubocop/cop/style/lambda_spec.rb +7 -7
  310. data/spec/rubocop/cop/style/leading_comment_space_spec.rb +15 -15
  311. data/spec/rubocop/cop/style/line_end_concatenation_spec.rb +11 -4
  312. data/spec/rubocop/cop/style/line_length_spec.rb +5 -5
  313. data/spec/rubocop/cop/style/method_call_parentheses_spec.rb +5 -5
  314. data/spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb +9 -9
  315. data/spec/rubocop/cop/style/method_def_parentheses_spec.rb +19 -19
  316. data/spec/rubocop/cop/style/method_length_spec.rb +17 -17
  317. data/spec/rubocop/cop/style/method_name_spec.rb +21 -21
  318. data/spec/rubocop/cop/style/module_function_spec.rb +3 -3
  319. data/spec/rubocop/cop/style/multiline_block_chain_spec.rb +13 -13
  320. data/spec/rubocop/cop/style/multiline_if_then_spec.rb +10 -10
  321. data/spec/rubocop/cop/style/multiline_ternary_operator_spec.rb +3 -3
  322. data/spec/rubocop/cop/style/nested_ternary_operator_spec.rb +3 -3
  323. data/spec/rubocop/cop/style/nil_comparison_spec.rb +7 -7
  324. data/spec/rubocop/cop/style/not_spec.rb +6 -11
  325. data/spec/rubocop/cop/style/numeric_literals_spec.rb +8 -8
  326. data/spec/rubocop/cop/style/one_line_conditional_spec.rb +1 -1
  327. data/spec/rubocop/cop/style/op_method_spec.rb +13 -13
  328. data/spec/rubocop/cop/style/parameter_lists_spec.rb +6 -6
  329. data/spec/rubocop/cop/style/parentheses_around_condition_spec.rb +11 -10
  330. data/spec/rubocop/cop/style/percent_literal_delimiters_spec.rb +250 -0
  331. data/spec/rubocop/cop/style/perl_backrefs_spec.rb +2 -2
  332. data/spec/rubocop/cop/style/predicate_name_spec.rb +3 -3
  333. data/spec/rubocop/cop/style/proc_spec.rb +4 -4
  334. data/spec/rubocop/cop/style/raise_args_spec.rb +20 -20
  335. data/spec/rubocop/cop/style/redundant_begin_spec.rb +6 -6
  336. data/spec/rubocop/cop/style/redundant_exception_spec.rb +6 -6
  337. data/spec/rubocop/cop/style/redundant_return_spec.rb +22 -22
  338. data/spec/rubocop/cop/style/redundant_self_spec.rb +14 -14
  339. data/spec/rubocop/cop/style/regexp_literal_spec.rb +88 -67
  340. data/spec/rubocop/cop/style/rescue_modifier_spec.rb +17 -17
  341. data/spec/rubocop/cop/style/self_assignment_spec.rb +43 -0
  342. data/spec/rubocop/cop/style/semicolon_spec.rb +31 -17
  343. data/spec/rubocop/cop/style/signal_exception_spec.rb +29 -29
  344. data/spec/rubocop/cop/style/single_line_block_params_spec.rb +6 -6
  345. data/spec/rubocop/cop/style/single_line_methods_spec.rb +44 -6
  346. data/spec/rubocop/cop/style/space_after_colon_spec.rb +1 -1
  347. data/spec/rubocop/cop/style/space_after_comma_spec.rb +3 -3
  348. data/spec/rubocop/cop/style/space_after_control_keyword_spec.rb +12 -12
  349. data/spec/rubocop/cop/style/space_after_method_name_spec.rb +8 -8
  350. data/spec/rubocop/cop/style/space_after_not_spec.rb +3 -3
  351. data/spec/rubocop/cop/style/space_after_semicolon_spec.rb +1 -1
  352. data/spec/rubocop/cop/style/space_around_equals_in_parameter_default_spec.rb +63 -21
  353. data/spec/rubocop/cop/style/space_around_operators_spec.rb +24 -24
  354. data/spec/rubocop/cop/style/space_before_block_braces_spec.rb +72 -0
  355. data/spec/rubocop/cop/style/space_before_modifier_keyword_spec.rb +4 -4
  356. data/spec/rubocop/cop/style/{space_around_block_braces_spec.rb → space_inside_block_braces_spec.rb} +39 -41
  357. data/spec/rubocop/cop/style/space_inside_brackets_spec.rb +1 -1
  358. data/spec/rubocop/cop/style/space_inside_hash_literal_braces_spec.rb +15 -15
  359. data/spec/rubocop/cop/style/space_inside_parens_spec.rb +1 -1
  360. data/spec/rubocop/cop/style/special_global_vars_spec.rb +10 -10
  361. data/spec/rubocop/cop/style/string_literals_spec.rb +31 -31
  362. data/spec/rubocop/cop/style/symbol_array_spec.rb +9 -9
  363. data/spec/rubocop/cop/style/tab_spec.rb +3 -3
  364. data/spec/rubocop/cop/style/trailing_blank_lines_spec.rb +3 -3
  365. data/spec/rubocop/cop/style/trailing_comma_spec.rb +32 -32
  366. data/spec/rubocop/cop/style/trailing_whitespace_spec.rb +5 -5
  367. data/spec/rubocop/cop/style/trivial_accessors_spec.rb +39 -39
  368. data/spec/rubocop/cop/style/unless_else_spec.rb +1 -1
  369. data/spec/rubocop/cop/style/variable_interpolation_spec.rb +12 -12
  370. data/spec/rubocop/cop/style/variable_name_spec.rb +21 -21
  371. data/spec/rubocop/cop/style/when_then_spec.rb +1 -1
  372. data/spec/rubocop/cop/style/while_until_do_spec.rb +8 -8
  373. data/spec/rubocop/cop/style/while_until_modifier_spec.rb +25 -7
  374. data/spec/rubocop/cop/style/word_array_spec.rb +23 -23
  375. data/spec/rubocop/cop/team_spec.rb +14 -14
  376. data/spec/rubocop/file_inspector_spec.rb +14 -12
  377. data/spec/rubocop/formatter/base_formatter_spec.rb +19 -19
  378. data/spec/rubocop/formatter/clang_style_formatter_spec.rb +14 -14
  379. data/spec/rubocop/formatter/disabled_config_formatter_spec.rb +7 -7
  380. data/spec/rubocop/formatter/emacs_style_formatter_spec.rb +7 -7
  381. data/spec/rubocop/formatter/file_list_formatter_spec.rb +4 -4
  382. data/spec/rubocop/formatter/fuubar_style_formatter_spec.rb +129 -0
  383. data/spec/rubocop/formatter/json_formatter_spec.rb +23 -19
  384. data/spec/rubocop/formatter/offense_count_formatter_spec.rb +77 -0
  385. data/spec/rubocop/formatter/progress_formatter_spec.rb +27 -27
  386. data/spec/rubocop/formatter/simple_text_formatter_spec.rb +16 -16
  387. data/spec/rubocop/options_spec.rb +7 -8
  388. data/spec/rubocop/source_parser_spec.rb +0 -54
  389. data/spec/spec_helper.rb +11 -7
  390. data/spec/support/file_helper.rb +1 -1
  391. data/spec/support/mri_syntax_checker.rb +4 -4
  392. data/spec/support/shared_examples.rb +6 -6
  393. data/spec/support/statement_modifier_helper.rb +3 -3
  394. metadata +76 -16
  395. data/lib/rubocop/cop/style/favor_sprintf.rb +0 -26
  396. data/lib/rubocop/formatter/offence_count_formatter.rb +0 -49
  397. data/spec/rubocop/cop/style/favor_sprintf_spec.rb +0 -47
  398. data/spec/rubocop/formatter/offence_count_formatter_spec.rb +0 -52
@@ -6,8 +6,8 @@ module Rubocop
6
6
  # The precise location of the problem is shown together with the
7
7
  # relevant source code.
8
8
  class ClangStyleFormatter < SimpleTextFormatter
9
- def report_file(file, offences)
10
- offences.each do |o|
9
+ def report_file(file, offenses)
10
+ offenses.each do |o|
11
11
  output.printf("%s:%d:%d: %s: %s\n",
12
12
  cyan(smart_path(file)), o.line, o.real_column,
13
13
  colored_severity_code(o), message(o))
@@ -3,37 +3,37 @@
3
3
  module Rubocop
4
4
  module Formatter
5
5
  # This formatter displays a YAML configuration file where all cops that
6
- # detected any offences are configured to not detect the offence.
6
+ # detected any offenses are configured to not detect the offense.
7
7
  class DisabledConfigFormatter < BaseFormatter
8
8
  HEADING =
9
9
  ['# This configuration was generated by `rubocop --auto-gen-config`',
10
10
  "# on #{Time.now} using RuboCop version #{Version.version}.",
11
11
  '# The point is for the user to remove these configuration records',
12
- '# one by one as the offences are removed from the code base.',
12
+ '# one by one as the offenses are removed from the code base.',
13
13
  '# Note that changes in the inspected code, or installation of new',
14
14
  '# versions of RuboCop, may require this file to be generated again.']
15
15
  .join("\n")
16
16
 
17
- @config_to_allow_offences = {}
17
+ @config_to_allow_offenses = {}
18
18
 
19
19
  COPS = Cop::Cop.all.group_by { |c| c.cop_name }
20
20
 
21
21
  class << self
22
- attr_accessor :config_to_allow_offences
22
+ attr_accessor :config_to_allow_offenses
23
23
  end
24
24
 
25
- def file_finished(file, offences)
26
- @cops_with_offences ||= Hash.new(0)
27
- offences.each { |o| @cops_with_offences[o.cop_name] += 1 }
25
+ def file_finished(file, offenses)
26
+ @cops_with_offenses ||= Hash.new(0)
27
+ offenses.each { |o| @cops_with_offenses[o.cop_name] += 1 }
28
28
  end
29
29
 
30
30
  def finished(inspected_files)
31
31
  output.puts HEADING
32
- @cops_with_offences.sort.each do |cop_name, offence_count|
32
+ @cops_with_offenses.sort.each do |cop_name, offense_count|
33
33
  output.puts
34
- cfg = self.class.config_to_allow_offences[cop_name]
34
+ cfg = self.class.config_to_allow_offenses[cop_name]
35
35
  cfg ||= { 'Enabled' => false }
36
- output_cop_comments(output, cfg, cop_name, offence_count)
36
+ output_cop_comments(output, cfg, cop_name, offense_count)
37
37
  output.puts "#{cop_name}:"
38
38
  cfg.each { |key, value| output.puts " #{key}: #{value}" }
39
39
  end
@@ -42,8 +42,8 @@ module Rubocop
42
42
  puts "add inherit_from: #{output.path} in a .rubocop.yml file."
43
43
  end
44
44
 
45
- def output_cop_comments(output, cfg, cop_name, offence_count)
46
- output.puts "# Offence count: #{offence_count}"
45
+ def output_cop_comments(output, cfg, cop_name, offense_count)
46
+ output.puts "# Offense count: #{offense_count}"
47
47
  if COPS[cop_name] && COPS[cop_name].first.new.support_autocorrect?
48
48
  output.puts '# Cop supports --auto-correct.'
49
49
  end
@@ -4,9 +4,10 @@ module Rubocop
4
4
  module Formatter
5
5
  # This formatter displays the report data in format that's
6
6
  # easy to process in the Emacs text editor.
7
+ # The output is machine-parsable.
7
8
  class EmacsStyleFormatter < BaseFormatter
8
- def file_finished(file, offences)
9
- offences.each do |o|
9
+ def file_finished(file, offenses)
10
+ offenses.each do |o|
10
11
  message = o.corrected? ? '[Corrected] ' : ''
11
12
  message << o.message
12
13
 
@@ -2,16 +2,16 @@
2
2
 
3
3
  module Rubocop
4
4
  module Formatter
5
- # This formatter displays just a list of the files with offences in them,
6
- # separated by newlines.
5
+ # This formatter displays just a list of the files with offenses in them,
6
+ # separated by newlines. The output is machine-parsable.
7
7
  #
8
8
  # Here's the format:
9
9
  #
10
10
  # /some/file
11
11
  # /some/other/file
12
12
  class FileListFormatter < BaseFormatter
13
- def file_finished(file, offences)
14
- return if offences.empty?
13
+ def file_finished(file, offenses)
14
+ return if offenses.empty?
15
15
  output.printf("%s\n", file)
16
16
  end
17
17
  end
@@ -10,10 +10,11 @@ module Rubocop
10
10
  'progress' => ProgressFormatter,
11
11
  'simple' => SimpleTextFormatter,
12
12
  'clang' => ClangStyleFormatter,
13
+ 'fuubar' => FuubarStyleFormatter,
13
14
  'emacs' => EmacsStyleFormatter,
14
15
  'json' => JSONFormatter,
15
16
  'files' => FileListFormatter,
16
- 'offences' => OffenceCountFormatter
17
+ 'offenses' => OffenseCountFormatter
17
18
  }
18
19
 
19
20
  FORMATTER_APIS = [:started, :file_started, :file_finished, :finished]
@@ -0,0 +1,76 @@
1
+ # encoding: utf-8
2
+
3
+ require 'ruby-progressbar'
4
+
5
+ module Rubocop
6
+ module Formatter
7
+ # This formatter displays a progress bar and shows details of offenses as
8
+ # soon as they are detected.
9
+ # This is inspired by the Fuubar formatter for RSpec by Jeff Kreeftmeijer.
10
+ # https://github.com/jeffkreeftmeijer/fuubar
11
+ class FuubarStyleFormatter < ClangStyleFormatter
12
+ RESET_SEQUENCE = "\e[0m"
13
+
14
+ def started(target_files)
15
+ super
16
+
17
+ @severest_offense = nil
18
+
19
+ file_phrase = target_files.count == 1 ? 'file' : 'files'
20
+
21
+ # 185/407 files |====== 45 ======> | ETA: 00:00:04
22
+ # %c / %C | %w > %i | %e
23
+ bar_format = " %c/%C #{file_phrase} |%w>%i| %e "
24
+
25
+ @progressbar = ProgressBar.create(
26
+ output: output,
27
+ total: target_files.count,
28
+ format: bar_format,
29
+ autostart: false
30
+ )
31
+ with_color { @progressbar.start }
32
+ end
33
+
34
+ def file_finished(file, offenses)
35
+ count_stats(offenses)
36
+
37
+ unless offenses.empty?
38
+ @progressbar.clear
39
+ report_file(file, offenses)
40
+ end
41
+
42
+ with_color { @progressbar.increment }
43
+ end
44
+
45
+ def count_stats(offenses)
46
+ super
47
+
48
+ offenses = offenses.reject(&:corrected?)
49
+ return if offenses.empty?
50
+
51
+ offenses << @severest_offense if @severest_offense
52
+ @severest_offense = offenses.max do |a, b|
53
+ a.severity_level <=> b.severity_level
54
+ end
55
+ end
56
+
57
+ def with_color
58
+ if rainbow.enabled
59
+ output.write colorize('', progressbar_color).chomp(RESET_SEQUENCE)
60
+ yield
61
+ output.write RESET_SEQUENCE
62
+ else
63
+ yield
64
+ end
65
+ end
66
+
67
+ def progressbar_color
68
+ if @severest_offense
69
+ COLOR_FOR_SEVERITY[@severest_offense.severity]
70
+ else
71
+ :green
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
@@ -14,7 +14,7 @@ module Rubocop
14
14
  @output_hash = {
15
15
  metadata: metadata_hash,
16
16
  files: [],
17
- summary: { offence_count: 0 }
17
+ summary: { offense_count: 0 }
18
18
  }
19
19
  end
20
20
 
@@ -22,9 +22,9 @@ module Rubocop
22
22
  output_hash[:summary][:target_file_count] = target_files.count
23
23
  end
24
24
 
25
- def file_finished(file, offences)
26
- output_hash[:files] << hash_for_file(file, offences)
27
- output_hash[:summary][:offence_count] += offences.count
25
+ def file_finished(file, offenses)
26
+ output_hash[:files] << hash_for_file(file, offenses)
27
+ output_hash[:summary][:offense_count] += offenses.count
28
28
  end
29
29
 
30
30
  def finished(inspected_files)
@@ -42,28 +42,29 @@ module Rubocop
42
42
  }
43
43
  end
44
44
 
45
- def hash_for_file(file, offences)
45
+ def hash_for_file(file, offenses)
46
46
  {
47
47
  path: relative_path(file),
48
- offences: offences.map { |o| hash_for_offence(o) }
48
+ offenses: offenses.map { |o| hash_for_offense(o) }
49
49
  }
50
50
  end
51
51
 
52
- def hash_for_offence(offence)
52
+ def hash_for_offense(offense)
53
53
  {
54
- severity: offence.severity,
55
- message: offence.message,
56
- cop_name: offence.cop_name,
57
- corrected: offence.corrected?,
58
- location: hash_for_location(offence)
54
+ severity: offense.severity,
55
+ message: offense.message,
56
+ cop_name: offense.cop_name,
57
+ corrected: offense.corrected?,
58
+ location: hash_for_location(offense)
59
59
  }
60
60
  end
61
61
 
62
- # TODO: Consider better solution for Offence#real_column.
63
- def hash_for_location(offence)
62
+ # TODO: Consider better solution for Offense#real_column.
63
+ def hash_for_location(offense)
64
64
  {
65
- line: offence.line,
66
- column: offence.real_column
65
+ line: offense.line,
66
+ column: offense.real_column,
67
+ length: offense.location.length
67
68
  }
68
69
  end
69
70
 
@@ -0,0 +1,54 @@
1
+ # encoding: utf-8
2
+
3
+ module Rubocop
4
+ module Formatter
5
+ # This formatter displays the list of offended cops with a count of how
6
+ # many offenses of their kind were found. Ordered by desc offense count
7
+ #
8
+ # Here's the format:
9
+ #
10
+ # 26 LineLength
11
+ # 3 OneLineConditional
12
+ # --
13
+ # 29 Total
14
+ class OffenseCountFormatter < BaseFormatter
15
+ attr_reader :offense_counts
16
+
17
+ def started(target_files)
18
+ super
19
+ @offense_counts = Hash.new(0)
20
+ end
21
+
22
+ def file_finished(file, offenses)
23
+ offenses.each { |o| @offense_counts[o.cop_name] += 1 }
24
+ end
25
+
26
+ def finished(inspected_files)
27
+ report_summary(inspected_files.count,
28
+ ordered_offense_counts(@offense_counts))
29
+ end
30
+
31
+ def report_summary(file_count, offense_counts)
32
+ output.puts
33
+
34
+ offense_count = total_offense_count(offense_counts)
35
+ offense_counts.each do |cop_name, count|
36
+ output.puts "#{count.to_s.ljust(offense_count.to_s.length + 2)}" \
37
+ "#{cop_name}\n"
38
+ end
39
+ output.puts '--'
40
+ output.puts "#{offense_count} Total"
41
+
42
+ output.puts
43
+ end
44
+
45
+ def ordered_offense_counts(offense_counts)
46
+ Hash[offense_counts.sort_by { |k, v| [-v, k] }]
47
+ end
48
+
49
+ def total_offense_count(offense_counts = {})
50
+ offense_counts.values.inject(0, :+)
51
+ end
52
+ end
53
+ end
54
+ end
@@ -2,52 +2,52 @@
2
2
 
3
3
  module Rubocop
4
4
  module Formatter
5
- # This formatter display dots for files with no offences and
5
+ # This formatter display dots for files with no offenses and
6
6
  # letters for files with problems in the them. In the end it
7
7
  # appends the regular report data in the clang style format.
8
8
  class ProgressFormatter < ClangStyleFormatter
9
9
  def started(target_files)
10
10
  super
11
- @offences_for_files = {}
11
+ @offenses_for_files = {}
12
12
  file_phrase = target_files.count == 1 ? 'file' : 'files'
13
13
  output.puts "Inspecting #{target_files.count} #{file_phrase}"
14
14
  end
15
15
 
16
- def file_finished(file, offences)
17
- unless offences.empty?
18
- count_stats(offences)
19
- @offences_for_files[file] = offences
16
+ def file_finished(file, offenses)
17
+ unless offenses.empty?
18
+ count_stats(offenses)
19
+ @offenses_for_files[file] = offenses
20
20
  end
21
21
 
22
- report_file_as_mark(file, offences)
22
+ report_file_as_mark(file, offenses)
23
23
  end
24
24
 
25
25
  def finished(inspected_files)
26
26
  output.puts
27
27
 
28
- unless @offences_for_files.empty?
28
+ unless @offenses_for_files.empty?
29
29
  output.puts
30
- output.puts 'Offences:'
30
+ output.puts 'Offenses:'
31
31
  output.puts
32
32
 
33
- @offences_for_files.each do |file, offences|
34
- report_file(file, offences)
33
+ @offenses_for_files.each do |file, offenses|
34
+ report_file(file, offenses)
35
35
  end
36
36
  end
37
37
 
38
38
  report_summary(inspected_files.count,
39
- @total_offence_count,
39
+ @total_offense_count,
40
40
  @total_correction_count)
41
41
  end
42
42
 
43
- def report_file_as_mark(file, offences)
44
- mark = if offences.empty?
43
+ def report_file_as_mark(file, offenses)
44
+ mark = if offenses.empty?
45
45
  green('.')
46
46
  else
47
- highest_offence = offences.max do |a, b|
47
+ highest_offense = offenses.max do |a, b|
48
48
  a.severity_level <=> b.severity_level
49
49
  end
50
- colored_severity_code(highest_offence)
50
+ colored_severity_code(highest_offense)
51
51
  end
52
52
 
53
53
  output.write mark
@@ -4,8 +4,8 @@ require 'rubocop/formatter/colorizable'
4
4
 
5
5
  module Rubocop
6
6
  module Formatter
7
- # A basic formatter that displays only files with offences.
8
- # Offences are displayed at compact form - just the
7
+ # A basic formatter that displays only files with offenses.
8
+ # Offenses are displayed at compact form - just the
9
9
  # location of the problem and the associated message.
10
10
  class SimpleTextFormatter < BaseFormatter
11
11
  include Colorizable
@@ -20,45 +20,45 @@ module Rubocop
20
20
  }.freeze
21
21
 
22
22
  def started(target_files)
23
- @total_offence_count = 0
23
+ @total_offense_count = 0
24
24
  @total_correction_count = 0
25
25
  end
26
26
 
27
- def file_finished(file, offences)
28
- return if offences.empty?
29
- count_stats(offences)
30
- report_file(file, offences)
27
+ def file_finished(file, offenses)
28
+ return if offenses.empty?
29
+ count_stats(offenses)
30
+ report_file(file, offenses)
31
31
  end
32
32
 
33
33
  def finished(inspected_files)
34
34
  report_summary(inspected_files.count,
35
- @total_offence_count,
35
+ @total_offense_count,
36
36
  @total_correction_count)
37
37
  end
38
38
 
39
- def report_file(file, offences)
39
+ def report_file(file, offenses)
40
40
  output.puts yellow("== #{smart_path(file)} ==")
41
41
 
42
- offences.each do |o|
42
+ offenses.each do |o|
43
43
  output.printf("%s:%3d:%3d: %s\n",
44
44
  colored_severity_code(o),
45
45
  o.line, o.real_column, message(o))
46
46
  end
47
47
  end
48
48
 
49
- def report_summary(file_count, offence_count, correction_count)
49
+ def report_summary(file_count, offense_count, correction_count)
50
50
  summary = pluralize(file_count, 'file')
51
51
  summary << ' inspected, '
52
52
 
53
- offences_text = pluralize(offence_count, 'offence', no_for_zero: true)
54
- offences_text << ' detected'
55
- summary << colorize(offences_text, offence_count.zero? ? :green : :red)
53
+ offenses_text = pluralize(offense_count, 'offense', no_for_zero: true)
54
+ offenses_text << ' detected'
55
+ summary << colorize(offenses_text, offense_count.zero? ? :green : :red)
56
56
 
57
57
  if correction_count > 0
58
58
  summary << ', '
59
- correction_text = pluralize(correction_count, 'offence')
59
+ correction_text = pluralize(correction_count, 'offense')
60
60
  correction_text << ' corrected'
61
- color = correction_count == offence_count ? :green : :cyan
61
+ color = correction_count == offense_count ? :green : :cyan
62
62
  summary << colorize(correction_text, color)
63
63
  end
64
64
 
@@ -68,9 +68,9 @@ module Rubocop
68
68
 
69
69
  private
70
70
 
71
- def count_stats(offences)
72
- @total_offence_count += offences.count
73
- @total_correction_count += offences.select(&:corrected?).count
71
+ def count_stats(offenses)
72
+ @total_offense_count += offenses.count
73
+ @total_correction_count += offenses.select(&:corrected?).count
74
74
  end
75
75
 
76
76
  def smart_path(path)
@@ -84,14 +84,14 @@ module Rubocop
84
84
  end
85
85
  end
86
86
 
87
- def colored_severity_code(offence)
88
- color = COLOR_FOR_SEVERITY[offence.severity]
89
- colorize(offence.severity_code, color)
87
+ def colored_severity_code(offense)
88
+ color = COLOR_FOR_SEVERITY[offense.severity]
89
+ colorize(offense.severity_code, color)
90
90
  end
91
91
 
92
- def message(offence)
93
- message = offence.corrected? ? green('[Corrected] ') : ''
94
- message << offence.message
92
+ def message(offense)
93
+ message = offense.corrected? ? green('[Corrected] ') : ''
94
+ message << offense.message
95
95
  end
96
96
 
97
97
  def pluralize(number, thing, options = {})