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
@@ -45,7 +45,7 @@ module Rubocop
45
45
  def on_gvar(node)
46
46
  global_var, = *node
47
47
 
48
- add_offence(node, :expression) if PREFERRED_VARS[global_var]
48
+ add_offense(node, :expression) if PREFERRED_VARS[global_var]
49
49
  end
50
50
 
51
51
  def message(node)
@@ -20,7 +20,7 @@ module Rubocop
20
20
  end
21
21
  end
22
22
 
23
- def offence?(node)
23
+ def offense?(node)
24
24
  src = node.loc.expression.source
25
25
  return false if src =~ /^(%[qQ]?|\?|<<-)/i
26
26
  src !~ if style == :single_quotes
@@ -15,7 +15,7 @@ module Rubocop
15
15
  def on_array(node)
16
16
  # %i and %I were introduced in Ruby 2.0
17
17
  unless RUBY_VERSION < '2.0.0'
18
- add_offence(node, :expression) if array_of?(:sym, node)
18
+ add_offense(node, :expression) if array_of?(:sym, node)
19
19
  end
20
20
  end
21
21
  end
@@ -12,7 +12,7 @@ module Rubocop
12
12
  match = line.match(/^( *)\t/)
13
13
  if match
14
14
  spaces = match.captures[0]
15
- add_offence(nil,
15
+ add_offense(nil,
16
16
  source_range(processed_source.buffer,
17
17
  processed_source[0...index],
18
18
  spaces.length, 1),
@@ -24,7 +24,7 @@ module Rubocop
24
24
  range = source_range(processed_source.buffer,
25
25
  processed_source[0...-blank_lines],
26
26
  0, range_size)
27
- add_offence(range, range, format(MSG, blank_lines))
27
+ add_offense(range, range, format(MSG, blank_lines))
28
28
  end
29
29
  end
30
30
 
@@ -33,7 +33,7 @@ module Rubocop
33
33
  # auto-correction in the two cops would result in clobbering.
34
34
  if range.source =~ / / &&
35
35
  config.for_cop('TrailingWhitespace')['Enabled']
36
- fail CorrectionNotPossible
36
+ return
37
37
  end
38
38
 
39
39
  @corrections << ->(corrector) { corrector.remove(range) }
@@ -83,8 +83,8 @@ module Rubocop
83
83
  range = Parser::Source::Range.new(sb, comma_begin_pos,
84
84
  comma_begin_pos + 1)
85
85
  article = kind =~ /array/ ? 'an' : 'a'
86
- add_offence(nil, range,
87
- sprintf(MSG, 'Avoid', sprintf(kind, article)))
86
+ add_offense(nil, range,
87
+ format(MSG, 'Avoid', format(kind, article)))
88
88
  end
89
89
 
90
90
  def put_comma(items, kind, sb)
@@ -93,8 +93,8 @@ module Rubocop
93
93
  ix += last_expr.source[ix..-1] =~ /\S/
94
94
  range = Parser::Source::Range.new(sb, last_expr.begin_pos + ix,
95
95
  last_expr.end_pos)
96
- add_offence(nil, range,
97
- sprintf(MSG, 'Put a', sprintf(kind, 'a multiline')))
96
+ add_offense(nil, range,
97
+ format(MSG, 'Put a', format(kind, 'a multiline')))
98
98
  end
99
99
  end
100
100
  end
@@ -14,7 +14,7 @@ module Rubocop
14
14
  processed_source[0...index],
15
15
  line.rstrip.length,
16
16
  line.length - line.rstrip.length)
17
- add_offence(range, range)
17
+ add_offense(range, range)
18
18
  end
19
19
  end
20
20
  end
@@ -19,8 +19,8 @@ module Rubocop
19
19
  'writer'
20
20
  end
21
21
  if kind
22
- add_offence(node, :keyword,
23
- sprintf(MSG, kind, kind))
22
+ add_offense(node, :keyword,
23
+ format(MSG, kind, kind))
24
24
  end
25
25
  end
26
26
 
@@ -15,7 +15,7 @@ module Rubocop
15
15
  return unless loc.respond_to?(:keyword) && loc.respond_to?(:else)
16
16
 
17
17
  if loc.keyword.is?('unless') && loc.else
18
- add_offence(node, :expression)
18
+ add_offense(node, :expression)
19
19
  end
20
20
  end
21
21
  end
@@ -12,7 +12,7 @@ module Rubocop
12
12
  var = (v.type == :nth_ref ? '$' : '') + v.to_a[0].to_s
13
13
 
14
14
  if node.loc.expression.source.include?("##{var}")
15
- add_offence(v, :expression, sprintf(MSG, var, var))
15
+ add_offense(v, :expression, format(MSG, var, var))
16
16
  end
17
17
  end
18
18
  end
@@ -9,7 +9,7 @@ module Rubocop
9
9
 
10
10
  def on_when(node)
11
11
  if node.loc.begin && node.loc.begin.is?(';')
12
- add_offence(node, :begin)
12
+ add_offense(node, :begin)
13
13
  end
14
14
  end
15
15
 
@@ -18,7 +18,7 @@ module Rubocop
18
18
 
19
19
  if length > 1
20
20
  if node.loc.begin && node.loc.begin.is?('do')
21
- add_offence(node, :begin,
21
+ add_offense(node, :begin,
22
22
  error_message(node.type))
23
23
  end
24
24
  end
@@ -5,6 +5,7 @@ module Rubocop
5
5
  module Style
6
6
  # Checks for while and until statements that would fit on one line
7
7
  # if written as a modifier while/until.
8
+ # The maximum line length is configurable.
8
9
  class WhileUntilModifier < Cop
9
10
  include StatementModifier
10
11
 
@@ -15,7 +16,7 @@ module Rubocop
15
16
  next unless node.loc.end
16
17
 
17
18
  if check(node, processed_source.comments)
18
- add_offence(node, :keyword,
19
+ add_offense(node, :keyword,
19
20
  message(node.loc.keyword.source))
20
21
  end
21
22
  end
@@ -8,7 +8,7 @@ module Rubocop
8
8
  class WordArray < Cop
9
9
  include ArraySyntax
10
10
  # The parameter is called MinSize (meaning the minimum array size for
11
- # which an offence can be registered), but essentially it's a Max
11
+ # which an offense can be registered), but essentially it's a Max
12
12
  # parameter (the maximum number of something that's allowed).
13
13
  include ConfigurableMax
14
14
 
@@ -18,7 +18,7 @@ module Rubocop
18
18
  array_elems = node.children
19
19
  if array_of?(:str, node) && !complex_content?(array_elems) &&
20
20
  array_elems.size > min_size && !comments_in_array?(node)
21
- add_offence(node, :expression) { self.max = array_elems.size }
21
+ add_offense(node, :expression) { self.max = array_elems.size }
22
22
  end
23
23
  end
24
24
 
@@ -4,7 +4,9 @@ module Rubocop
4
4
  module Cop
5
5
  # FIXME
6
6
  class Team
7
- attr_reader :errors
7
+ attr_reader :errors, :updated_source_file
8
+
9
+ alias_method :updated_source_file?, :updated_source_file
8
10
 
9
11
  def initialize(cop_classes, config, options = nil)
10
12
  @cop_classes = cop_classes
@@ -26,23 +28,23 @@ module Rubocop
26
28
  processed_source = SourceParser.parse_file(file)
27
29
  rescue Encoding::UndefinedConversionError, ArgumentError => e
28
30
  range = Struct.new(:line, :column, :source_line).new(1, 0, '')
29
- return [Offence.new(:fatal, range, e.message.capitalize + '.',
31
+ return [Offense.new(:fatal, range, e.message.capitalize + '.',
30
32
  'Parser')]
31
33
  end
32
34
 
33
- # If we got any syntax errors, return only the syntax offences.
35
+ # If we got any syntax errors, return only the syntax offenses.
34
36
  # Parser may return nil for AST even though there are no syntax errors.
35
37
  # e.g. sources which contain only comments
36
38
  unless processed_source.valid_syntax?
37
39
  diagnostics = processed_source.diagnostics
38
- return Lint::Syntax.offences_from_diagnostics(diagnostics)
40
+ return Lint::Syntax.offenses_from_diagnostics(diagnostics)
39
41
  end
40
42
 
41
43
  commissioner = Commissioner.new(cops)
42
- offences = commissioner.investigate(processed_source)
44
+ offenses = commissioner.investigate(processed_source)
43
45
  process_commissioner_errors(file, commissioner.errors)
44
46
  autocorrect(processed_source.buffer, cops)
45
- offences.sort
47
+ offenses
46
48
  end
47
49
 
48
50
  def cops
@@ -57,6 +59,7 @@ module Rubocop
57
59
  private
58
60
 
59
61
  def autocorrect(buffer, cops)
62
+ @updated_source_file = false
60
63
  return unless autocorrect?
61
64
 
62
65
  corrections = cops.reduce([]) do |array, cop|
@@ -65,14 +68,28 @@ module Rubocop
65
68
  end
66
69
 
67
70
  corrector = Corrector.new(buffer, corrections)
68
- new_source = corrector.rewrite
71
+ new_source = begin
72
+ corrector.rewrite
73
+ rescue RangeError, RuntimeError
74
+ autocorrect_one_cop(buffer, cops)
75
+ end
69
76
 
70
77
  unless new_source == buffer.source
71
78
  filename = buffer.name
72
79
  File.open(filename, 'w') { |f| f.write(new_source) }
80
+ @updated_source_file = true
73
81
  end
74
82
  end
75
83
 
84
+ # Does a slower but safer auto-correction run by correcting for just one
85
+ # cop. The re-running of auto-corrections will make sure that the full
86
+ # set of auto-corrections is tried again after this method has finished.
87
+ def autocorrect_one_cop(buffer, cops)
88
+ cop_with_corrections = cops.find { |cop| cop.corrections.any? }
89
+ corrector = Corrector.new(buffer, cop_with_corrections.corrections)
90
+ corrector.rewrite
91
+ end
92
+
76
93
  def process_commissioner_errors(file, file_errors)
77
94
  file_errors.each do |cop, errors|
78
95
  errors.each do |e|
@@ -15,9 +15,9 @@ module Rubocop
15
15
  # http://phrogz.net/programmingruby/language.html#table_18.4
16
16
  # Backtick is added last just to help editors parse this code.
17
17
  OPERATOR_METHODS = %w(
18
- | ^ & <=> == === =~ > >= < <= << >>
19
- + - * / % ** ~ +@ -@ [] []= ! != !~
20
- ).map(&:to_sym) + [:'`']
18
+ | ^ & <=> == === =~ > >= < <= << >>
19
+ + - * / % ** ~ +@ -@ [] []= ! != !~
20
+ ).map(&:to_sym) + [:'`']
21
21
 
22
22
  module_function
23
23
 
@@ -278,19 +278,8 @@ module Rubocop
278
278
  # as referenced by ignoring AST order since they would be referenced
279
279
  # in next iteration.
280
280
  def mark_assignments_as_referenced_in_loop(node)
281
- referenced_variable_names_in_loop = []
282
- assignment_nodes_in_loop = []
283
-
284
- # #scan does not consider scope,
285
- # but we don't need to care about it here.
286
- scan(node) do |scanning_node|
287
- case scanning_node.type
288
- when :lvar
289
- referenced_variable_names_in_loop << scanning_node.children.first
290
- when :lvasgn
291
- assignment_nodes_in_loop << scanning_node
292
- end
293
- end
281
+ referenced_variable_names_in_loop, assignment_nodes_in_loop =
282
+ find_variables_in_loop(node)
294
283
 
295
284
  referenced_variable_names_in_loop.each do |name|
296
285
  variable = variable_table.find_variable(name)
@@ -306,6 +295,29 @@ module Rubocop
306
295
  end
307
296
  end
308
297
 
298
+ def find_variables_in_loop(loop_node)
299
+ referenced_variable_names_in_loop = []
300
+ assignment_nodes_in_loop = []
301
+
302
+ # #scan does not consider scope,
303
+ # but we don't need to care about it here.
304
+ scan(loop_node) do |node|
305
+ case node.type
306
+ when :lvar
307
+ referenced_variable_names_in_loop << node.children.first
308
+ when *OPERATOR_ASSIGNMENT_TYPES
309
+ asgn_node = node.children.first
310
+ if asgn_node.type == :lvasgn
311
+ referenced_variable_names_in_loop << asgn_node.children.first
312
+ end
313
+ when :lvasgn
314
+ assignment_nodes_in_loop << node
315
+ end
316
+ end
317
+
318
+ [referenced_variable_names_in_loop, assignment_nodes_in_loop]
319
+ end
320
+
309
321
  # Simple recursive scan
310
322
  def scan(node, &block)
311
323
  node.children.each do |child|
@@ -16,7 +16,7 @@ module Rubocop
16
16
  def initialize(node, variable)
17
17
  unless VARIABLE_ASSIGNMENT_TYPES.include?(node.type)
18
18
  fail ArgumentError,
19
- "Node type must be any of #{VARIABLE_ASSIGNMENT_TYPES}, " +
19
+ "Node type must be any of #{VARIABLE_ASSIGNMENT_TYPES}, " \
20
20
  "passed #{node.type}"
21
21
  end
22
22
 
@@ -18,7 +18,7 @@ module Rubocop
18
18
  def initialize(node, scope)
19
19
  unless VARIABLE_REFERENCE_TYPES.include?(node.type)
20
20
  fail ArgumentError,
21
- "Node type must be any of #{VARIABLE_REFERENCE_TYPES}, " +
21
+ "Node type must be any of #{VARIABLE_REFERENCE_TYPES}, " \
22
22
  "passed #{node.type}"
23
23
  end
24
24
 
@@ -13,7 +13,7 @@ module Rubocop
13
13
  # Accept begin node for top level scope.
14
14
  unless SCOPE_TYPES.include?(node.type) || node.type == :begin
15
15
  fail ArgumentError,
16
- "Node type must be any of #{SCOPE_TYPES}, " +
16
+ "Node type must be any of #{SCOPE_TYPES}, " \
17
17
  "passed #{node.type}"
18
18
  end
19
19
  @node = node
@@ -17,7 +17,7 @@ module Rubocop
17
17
  def initialize(name, declaration_node, scope)
18
18
  unless VARIABLE_DECLARATION_TYPES.include?(declaration_node.type)
19
19
  fail ArgumentError,
20
- "Node type must be any of #{VARIABLE_DECLARATION_TYPES}, " +
20
+ "Node type must be any of #{VARIABLE_DECLARATION_TYPES}, " \
21
21
  "passed #{declaration_node.type}"
22
22
  end
23
23
 
@@ -69,7 +69,7 @@ module Rubocop
69
69
  # Once the variable is captured by a block, we have no idea
70
70
  # when, where and how many times the block would be invoked
71
71
  # and it means we cannot track the usage of the variable.
72
- # So we consider it's used to suppress false positive offences.
72
+ # So we consider it's used to suppress false positive offenses.
73
73
  def used?
74
74
  @captured_by_block || referenced?
75
75
  end
@@ -57,7 +57,7 @@ module Rubocop
57
57
  variable = find_variable(name)
58
58
 
59
59
  unless variable
60
- fail "Assigning to undeclared local variable \"#{name}\" " +
60
+ fail "Assigning to undeclared local variable \"#{name}\" " \
61
61
  "at #{node.loc.expression}, #{node.inspect}"
62
62
  end
63
63
 
@@ -20,9 +20,9 @@ module Rubocop
20
20
 
21
21
  target_files.each do |file|
22
22
  break if yield
23
- offences = process_file(file, config_store)
23
+ offenses = process_file(file, config_store)
24
24
 
25
- any_failed = true unless offences.empty?
25
+ any_failed = true unless offenses.empty?
26
26
  inspected_files << file
27
27
  end
28
28
 
@@ -46,31 +46,30 @@ module Rubocop
46
46
 
47
47
  def process_file(file, config_store)
48
48
  puts "Scanning #{file}" if @options[:debug]
49
- offences = []
49
+ offenses = []
50
50
  formatter_set.file_started(file, {})
51
51
 
52
52
  # When running with --auto-correct, we need to inspect the file (which
53
53
  # includes writing a corrected version of it) until no more corrections
54
54
  # are made. This is because automatic corrections can introduce new
55
- # offences. In the normal case the loop is only executed once.
55
+ # offenses. In the normal case the loop is only executed once.
56
56
  loop do
57
- new_offences = inspect_file(file, config_store)
58
- unique_new = new_offences.reject { |n| offences.include?(n) }
59
-
60
- offences += unique_new
61
- break unless unique_new.any?(&:corrected?)
57
+ new_offenses, updated_source_file = inspect_file(file, config_store)
58
+ unique_new = new_offenses.reject { |n| offenses.include?(n) }
59
+ offenses += unique_new
60
+ break unless updated_source_file
62
61
  end
63
62
 
64
- formatter_set.file_finished(file, offences.freeze)
65
- offences
63
+ formatter_set.file_finished(file, offenses.sort.freeze)
64
+ offenses
66
65
  end
67
66
 
68
67
  def inspect_file(file, config_store)
69
68
  config = config_store.for(file)
70
69
  team = Cop::Team.new(mobilized_cop_classes(config), config, @options)
71
- offences = team.inspect_file(file)
70
+ offenses = team.inspect_file(file)
72
71
  @errors.concat(team.errors)
73
- offences
72
+ [offenses, team.updated_source_file?]
74
73
  end
75
74
 
76
75
  def mobilized_cop_classes(config)
@@ -93,13 +93,13 @@ module Rubocop
93
93
  # @param file [String]
94
94
  # the file path
95
95
  #
96
- # @param offences [Array(Rubocop::Cop::Offence)]
97
- # all detected offences for the file
96
+ # @param offenses [Array(Rubocop::Cop::Offense)]
97
+ # all detected offenses for the file
98
98
  #
99
99
  # @return [void]
100
100
  #
101
- # @see Rubocop::Cop::Offence
102
- def file_finished(file, offences)
101
+ # @see Rubocop::Cop::Offense
102
+ def file_finished(file, offenses)
103
103
  end
104
104
 
105
105
  # @api public