rubocop 0.29.1 → 0.30.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 (341) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +73 -1
  3. data/README.md +11 -2
  4. data/config/default.yml +194 -6
  5. data/config/disabled.yml +25 -1
  6. data/config/enabled.yml +74 -12
  7. data/lib/rubocop.rb +19 -2
  8. data/lib/rubocop/config.rb +23 -3
  9. data/lib/rubocop/config_loader.rb +9 -1
  10. data/lib/rubocop/cop/autocorrect_logic.rb +26 -0
  11. data/lib/rubocop/cop/cop.rb +33 -17
  12. data/lib/rubocop/cop/lint/assignment_in_condition.rb +16 -4
  13. data/lib/rubocop/cop/lint/block_alignment.rb +5 -14
  14. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +1 -1
  15. data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +61 -0
  16. data/lib/rubocop/cop/lint/void.rb +11 -3
  17. data/lib/rubocop/cop/mixin/on_normal_if_unless.rb +17 -0
  18. data/lib/rubocop/cop/performance/detect.rb +72 -0
  19. data/lib/rubocop/cop/performance/flat_map.rb +64 -0
  20. data/lib/rubocop/cop/performance/reverse_each.rb +43 -0
  21. data/lib/rubocop/cop/performance/sample.rb +58 -0
  22. data/lib/rubocop/cop/performance/size.rb +64 -0
  23. data/lib/rubocop/cop/rails/date.rb +121 -0
  24. data/lib/rubocop/cop/rails/find_by.rb +52 -0
  25. data/lib/rubocop/cop/rails/find_each.rb +41 -0
  26. data/lib/rubocop/cop/rails/time_zone.rb +93 -0
  27. data/lib/rubocop/cop/style/auto_resource_cleanup.rb +45 -0
  28. data/lib/rubocop/cop/style/block_delimiters.rb +186 -0
  29. data/lib/rubocop/cop/style/closing_parenthesis_indentation.rb +76 -0
  30. data/lib/rubocop/cop/style/command_literal.rb +120 -0
  31. data/lib/rubocop/cop/style/copyright.rb +87 -0
  32. data/lib/rubocop/cop/style/documentation.rb +32 -0
  33. data/lib/rubocop/cop/style/empty_else.rb +85 -16
  34. data/lib/rubocop/cop/style/encoding.rb +14 -2
  35. data/lib/rubocop/cop/style/end_of_line.rb +5 -0
  36. data/lib/rubocop/cop/style/hash_syntax.rb +86 -23
  37. data/lib/rubocop/cop/style/if_unless_modifier.rb +15 -0
  38. data/lib/rubocop/cop/style/indentation_consistency.rb +13 -6
  39. data/lib/rubocop/cop/style/indentation_width.rb +34 -10
  40. data/lib/rubocop/cop/style/lambda.rb +32 -17
  41. data/lib/rubocop/cop/style/line_end_concatenation.rb +4 -0
  42. data/lib/rubocop/cop/style/missing_else.rb +72 -0
  43. data/lib/rubocop/cop/style/regexp_literal.rb +89 -58
  44. data/lib/rubocop/cop/style/space_around_operators.rb +13 -2
  45. data/lib/rubocop/cop/style/space_before_block_braces.rb +3 -3
  46. data/lib/rubocop/cop/style/space_inside_block_braces.rb +9 -5
  47. data/lib/rubocop/cop/style/symbol_literal.rb +36 -0
  48. data/lib/rubocop/cop/style/trailing_blank_lines.rb +7 -0
  49. data/lib/rubocop/cop/style/trailing_comma.rb +21 -7
  50. data/lib/rubocop/cop/style/trivial_accessors.rb +17 -3
  51. data/lib/rubocop/cop/style/unneeded_capital_w.rb +4 -6
  52. data/lib/rubocop/cop/style/while_until_modifier.rb +10 -0
  53. data/lib/rubocop/cop/util.rb +24 -19
  54. data/lib/rubocop/cop/variable_force.rb +14 -0
  55. data/lib/rubocop/cop/variable_force/reference.rb +10 -4
  56. data/lib/rubocop/formatter/html_formatter.rb +10 -4
  57. data/lib/rubocop/formatter/text_util.rb +5 -7
  58. data/lib/rubocop/options.rb +47 -45
  59. data/lib/rubocop/path_util.rb +12 -8
  60. data/lib/rubocop/processed_source.rb +12 -1
  61. data/lib/rubocop/rake_task.rb +2 -2
  62. data/lib/rubocop/version.rb +1 -1
  63. data/relnotes/v0.30.0.md +145 -0
  64. data/rubocop.gemspec +15 -3
  65. metadata +22 -545
  66. data/.gitignore +0 -54
  67. data/.rspec +0 -1
  68. data/.rubocop.yml +0 -11
  69. data/.rubocop_todo.yml +0 -28
  70. data/.travis.yml +0 -22
  71. data/Gemfile +0 -15
  72. data/Rakefile +0 -41
  73. data/lib/rubocop/cop/style/blocks.rb +0 -80
  74. data/lib/rubocop/cop/style/unneeded_percent_x.rb +0 -25
  75. data/logo/rubocop-final-logo.eps +0 -0
  76. data/spec/.rubocop.yml +0 -5
  77. data/spec/fixtures/html_formatter/expected.html +0 -495
  78. data/spec/fixtures/html_formatter/project/app/controllers/application_controller.rb +0 -5
  79. data/spec/fixtures/html_formatter/project/app/controllers/books_controller.rb +0 -74
  80. data/spec/fixtures/html_formatter/project/app/models/book.rb +0 -5
  81. data/spec/isolated_environment_spec.rb +0 -24
  82. data/spec/project_spec.rb +0 -119
  83. data/spec/rubocop/cli_spec.rb +0 -2740
  84. data/spec/rubocop/comment_config_spec.rb +0 -105
  85. data/spec/rubocop/config_loader_spec.rb +0 -377
  86. data/spec/rubocop/config_spec.rb +0 -235
  87. data/spec/rubocop/config_store_spec.rb +0 -53
  88. data/spec/rubocop/cop/commissioner_spec.rb +0 -85
  89. data/spec/rubocop/cop/cop_spec.rb +0 -135
  90. data/spec/rubocop/cop/corrector_spec.rb +0 -59
  91. data/spec/rubocop/cop/force_spec.rb +0 -29
  92. data/spec/rubocop/cop/lint/ambiguous_operator_spec.rb +0 -113
  93. data/spec/rubocop/cop/lint/ambiguous_regexp_literal_spec.rb +0 -35
  94. data/spec/rubocop/cop/lint/assignment_in_condition_spec.rb +0 -130
  95. data/spec/rubocop/cop/lint/block_alignment_spec.rb +0 -533
  96. data/spec/rubocop/cop/lint/condition_position_spec.rb +0 -51
  97. data/spec/rubocop/cop/lint/debugger_spec.rb +0 -73
  98. data/spec/rubocop/cop/lint/def_end_alignment_spec.rb +0 -108
  99. data/spec/rubocop/cop/lint/deprecated_class_methods_spec.rb +0 -38
  100. data/spec/rubocop/cop/lint/duplicate_methods_spec.rb +0 -189
  101. data/spec/rubocop/cop/lint/else_layout_spec.rb +0 -65
  102. data/spec/rubocop/cop/lint/empty_ensure_spec.rb +0 -27
  103. data/spec/rubocop/cop/lint/empty_interpolation_spec.rb +0 -18
  104. data/spec/rubocop/cop/lint/end_alignment_spec.rb +0 -91
  105. data/spec/rubocop/cop/lint/end_in_method_spec.rb +0 -29
  106. data/spec/rubocop/cop/lint/ensure_return_spec.rb +0 -39
  107. data/spec/rubocop/cop/lint/eval_spec.rb +0 -33
  108. data/spec/rubocop/cop/lint/handle_exceptions_spec.rb +0 -30
  109. data/spec/rubocop/cop/lint/invalid_character_literal_spec.rb +0 -33
  110. data/spec/rubocop/cop/lint/literal_in_condition_spec.rb +0 -172
  111. data/spec/rubocop/cop/lint/literal_in_interpolation_spec.rb +0 -31
  112. data/spec/rubocop/cop/lint/loop_spec.rb +0 -27
  113. data/spec/rubocop/cop/lint/parentheses_as_grouped_expression_spec.rb +0 -57
  114. data/spec/rubocop/cop/lint/require_parentheses_spec.rb +0 -82
  115. data/spec/rubocop/cop/lint/rescue_exception_spec.rb +0 -123
  116. data/spec/rubocop/cop/lint/shadowing_outer_local_variable_spec.rb +0 -237
  117. data/spec/rubocop/cop/lint/space_before_first_arg_spec.rb +0 -66
  118. data/spec/rubocop/cop/lint/string_conversion_in_interpolation_spec.rb +0 -51
  119. data/spec/rubocop/cop/lint/syntax_spec.rb +0 -34
  120. data/spec/rubocop/cop/lint/underscore_prefixed_variable_name_spec.rb +0 -179
  121. data/spec/rubocop/cop/lint/unreachable_code_spec.rb +0 -63
  122. data/spec/rubocop/cop/lint/unused_block_argument_spec.rb +0 -231
  123. data/spec/rubocop/cop/lint/unused_method_argument_spec.rb +0 -278
  124. data/spec/rubocop/cop/lint/useless_access_modifier_spec.rb +0 -192
  125. data/spec/rubocop/cop/lint/useless_assignment_spec.rb +0 -1778
  126. data/spec/rubocop/cop/lint/useless_comparison_spec.rb +0 -30
  127. data/spec/rubocop/cop/lint/useless_else_without_rescue_spec.rb +0 -48
  128. data/spec/rubocop/cop/lint/useless_setter_call_spec.rb +0 -211
  129. data/spec/rubocop/cop/lint/void_spec.rb +0 -64
  130. data/spec/rubocop/cop/metrics/abc_size_spec.rb +0 -109
  131. data/spec/rubocop/cop/metrics/block_nesting_spec.rb +0 -156
  132. data/spec/rubocop/cop/metrics/class_length_spec.rb +0 -131
  133. data/spec/rubocop/cop/metrics/cyclomatic_complexity_spec.rb +0 -204
  134. data/spec/rubocop/cop/metrics/line_length_spec.rb +0 -136
  135. data/spec/rubocop/cop/metrics/method_length_spec.rb +0 -147
  136. data/spec/rubocop/cop/metrics/parameter_lists_spec.rb +0 -44
  137. data/spec/rubocop/cop/metrics/perceived_complexity_spec.rb +0 -222
  138. data/spec/rubocop/cop/offense_spec.rb +0 -133
  139. data/spec/rubocop/cop/rails/action_filter_spec.rb +0 -64
  140. data/spec/rubocop/cop/rails/default_scope_spec.rb +0 -37
  141. data/spec/rubocop/cop/rails/delegate_spec.rb +0 -177
  142. data/spec/rubocop/cop/rails/has_and_belongs_to_many_spec.rb +0 -13
  143. data/spec/rubocop/cop/rails/output_spec.rb +0 -37
  144. data/spec/rubocop/cop/rails/read_write_attribute_spec.rb +0 -130
  145. data/spec/rubocop/cop/rails/scope_args_spec.rb +0 -25
  146. data/spec/rubocop/cop/rails/validation_spec.rb +0 -28
  147. data/spec/rubocop/cop/severity_spec.rb +0 -113
  148. data/spec/rubocop/cop/style/access_modifier_indentation_spec.rb +0 -421
  149. data/spec/rubocop/cop/style/accessor_method_name_spec.rb +0 -81
  150. data/spec/rubocop/cop/style/alias_spec.rb +0 -59
  151. data/spec/rubocop/cop/style/align_array_spec.rb +0 -123
  152. data/spec/rubocop/cop/style/align_hash_spec.rb +0 -411
  153. data/spec/rubocop/cop/style/align_parameters_spec.rb +0 -431
  154. data/spec/rubocop/cop/style/and_or_spec.rb +0 -235
  155. data/spec/rubocop/cop/style/array_join_spec.rb +0 -29
  156. data/spec/rubocop/cop/style/ascii_comments_spec.rb +0 -21
  157. data/spec/rubocop/cop/style/ascii_identifiers_spec.rb +0 -36
  158. data/spec/rubocop/cop/style/attr_spec.rb +0 -29
  159. data/spec/rubocop/cop/style/bare_percent_literals_spec.rb +0 -132
  160. data/spec/rubocop/cop/style/begin_block_spec.rb +0 -13
  161. data/spec/rubocop/cop/style/block_comments_spec.rb +0 -45
  162. data/spec/rubocop/cop/style/block_end_newline_spec.rb +0 -61
  163. data/spec/rubocop/cop/style/blocks_spec.rb +0 -121
  164. data/spec/rubocop/cop/style/braces_around_hash_parameters_spec.rb +0 -288
  165. data/spec/rubocop/cop/style/case_equality_spec.rb +0 -13
  166. data/spec/rubocop/cop/style/case_indentation_spec.rb +0 -293
  167. data/spec/rubocop/cop/style/character_literal_spec.rb +0 -37
  168. data/spec/rubocop/cop/style/class_and_module_camel_case_spec.rb +0 -40
  169. data/spec/rubocop/cop/style/class_and_module_children_spec.rb +0 -133
  170. data/spec/rubocop/cop/style/class_check_spec.rb +0 -41
  171. data/spec/rubocop/cop/style/class_methods_spec.rb +0 -80
  172. data/spec/rubocop/cop/style/class_vars_spec.rb +0 -19
  173. data/spec/rubocop/cop/style/collection_methods_spec.rb +0 -48
  174. data/spec/rubocop/cop/style/colon_method_call_spec.rb +0 -65
  175. data/spec/rubocop/cop/style/comment_annotation_spec.rb +0 -86
  176. data/spec/rubocop/cop/style/comment_indentation_spec.rb +0 -179
  177. data/spec/rubocop/cop/style/constant_name_spec.rb +0 -65
  178. data/spec/rubocop/cop/style/def_with_parentheses_spec.rb +0 -43
  179. data/spec/rubocop/cop/style/deprecated_hash_methods_spec.rb +0 -45
  180. data/spec/rubocop/cop/style/documentation_spec.rb +0 -146
  181. data/spec/rubocop/cop/style/dot_position_spec.rb +0 -132
  182. data/spec/rubocop/cop/style/double_negation_spec.rb +0 -22
  183. data/spec/rubocop/cop/style/each_with_object_spec.rb +0 -73
  184. data/spec/rubocop/cop/style/else_alignment_spec.rb +0 -506
  185. data/spec/rubocop/cop/style/empty_else_spec.rb +0 -100
  186. data/spec/rubocop/cop/style/empty_line_between_defs_spec.rb +0 -135
  187. data/spec/rubocop/cop/style/empty_lines_around_access_modifier_spec.rb +0 -178
  188. data/spec/rubocop/cop/style/empty_lines_around_block_body_spec.rb +0 -103
  189. data/spec/rubocop/cop/style/empty_lines_around_class_body_spec.rb +0 -135
  190. data/spec/rubocop/cop/style/empty_lines_around_method_body_spec.rb +0 -90
  191. data/spec/rubocop/cop/style/empty_lines_around_module_body_spec.rb +0 -79
  192. data/spec/rubocop/cop/style/empty_lines_spec.rb +0 -51
  193. data/spec/rubocop/cop/style/empty_literal_spec.rb +0 -117
  194. data/spec/rubocop/cop/style/encoding_spec.rb +0 -139
  195. data/spec/rubocop/cop/style/end_block_spec.rb +0 -13
  196. data/spec/rubocop/cop/style/end_of_line_spec.rb +0 -65
  197. data/spec/rubocop/cop/style/even_odd_spec.rb +0 -164
  198. data/spec/rubocop/cop/style/extra_spacing_spec.rb +0 -68
  199. data/spec/rubocop/cop/style/file_name_spec.rb +0 -84
  200. data/spec/rubocop/cop/style/first_parameter_indentation_spec.rb +0 -304
  201. data/spec/rubocop/cop/style/flip_flop_spec.rb +0 -23
  202. data/spec/rubocop/cop/style/for_spec.rb +0 -105
  203. data/spec/rubocop/cop/style/format_string_spec.rb +0 -184
  204. data/spec/rubocop/cop/style/global_vars_spec.rb +0 -34
  205. data/spec/rubocop/cop/style/guard_clause_spec.rb +0 -172
  206. data/spec/rubocop/cop/style/hash_syntax_spec.rb +0 -137
  207. data/spec/rubocop/cop/style/if_unless_modifier_spec.rb +0 -146
  208. data/spec/rubocop/cop/style/if_with_semicolon_spec.rb +0 -24
  209. data/spec/rubocop/cop/style/indent_array_spec.rb +0 -173
  210. data/spec/rubocop/cop/style/indent_hash_spec.rb +0 -367
  211. data/spec/rubocop/cop/style/indentation_consistency_spec.rb +0 -509
  212. data/spec/rubocop/cop/style/indentation_width_spec.rb +0 -885
  213. data/spec/rubocop/cop/style/infinite_loop_spec.rb +0 -48
  214. data/spec/rubocop/cop/style/inline_comment_spec.rb +0 -13
  215. data/spec/rubocop/cop/style/lambda_call_spec.rb +0 -65
  216. data/spec/rubocop/cop/style/lambda_spec.rb +0 -76
  217. data/spec/rubocop/cop/style/leading_comment_space_spec.rb +0 -64
  218. data/spec/rubocop/cop/style/line_end_concatenation_spec.rb +0 -184
  219. data/spec/rubocop/cop/style/method_call_parentheses_spec.rb +0 -59
  220. data/spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb +0 -60
  221. data/spec/rubocop/cop/style/method_def_parentheses_spec.rb +0 -108
  222. data/spec/rubocop/cop/style/method_name_spec.rb +0 -125
  223. data/spec/rubocop/cop/style/module_function_spec.rb +0 -24
  224. data/spec/rubocop/cop/style/multiline_block_chain_spec.rb +0 -78
  225. data/spec/rubocop/cop/style/multiline_block_layout_spec.rb +0 -199
  226. data/spec/rubocop/cop/style/multiline_if_then_spec.rb +0 -134
  227. data/spec/rubocop/cop/style/multiline_operation_indentation_spec.rb +0 -464
  228. data/spec/rubocop/cop/style/multiline_ternary_operator_spec.rb +0 -18
  229. data/spec/rubocop/cop/style/negated_if_spec.rb +0 -102
  230. data/spec/rubocop/cop/style/negated_while_spec.rb +0 -64
  231. data/spec/rubocop/cop/style/nested_ternary_operator_spec.rb +0 -21
  232. data/spec/rubocop/cop/style/next_spec.rb +0 -301
  233. data/spec/rubocop/cop/style/nil_comparison_spec.rb +0 -29
  234. data/spec/rubocop/cop/style/non_nil_check_spec.rb +0 -132
  235. data/spec/rubocop/cop/style/not_spec.rb +0 -28
  236. data/spec/rubocop/cop/style/numeric_literals_spec.rb +0 -80
  237. data/spec/rubocop/cop/style/one_line_conditional_spec.rb +0 -13
  238. data/spec/rubocop/cop/style/op_method_spec.rb +0 -85
  239. data/spec/rubocop/cop/style/parentheses_around_condition_spec.rb +0 -161
  240. data/spec/rubocop/cop/style/percent_literal_delimiters_spec.rb +0 -316
  241. data/spec/rubocop/cop/style/percent_q_literals_spec.rb +0 -122
  242. data/spec/rubocop/cop/style/perl_backrefs_spec.rb +0 -22
  243. data/spec/rubocop/cop/style/predicate_name_spec.rb +0 -57
  244. data/spec/rubocop/cop/style/proc_spec.rb +0 -27
  245. data/spec/rubocop/cop/style/raise_args_spec.rb +0 -87
  246. data/spec/rubocop/cop/style/redundant_begin_spec.rb +0 -121
  247. data/spec/rubocop/cop/style/redundant_exception_spec.rb +0 -59
  248. data/spec/rubocop/cop/style/redundant_return_spec.rb +0 -171
  249. data/spec/rubocop/cop/style/redundant_self_spec.rb +0 -186
  250. data/spec/rubocop/cop/style/regexp_literal_spec.rb +0 -188
  251. data/spec/rubocop/cop/style/rescue_modifier_spec.rb +0 -116
  252. data/spec/rubocop/cop/style/self_assignment_spec.rb +0 -49
  253. data/spec/rubocop/cop/style/semicolon_spec.rb +0 -114
  254. data/spec/rubocop/cop/style/signal_exception_spec.rb +0 -289
  255. data/spec/rubocop/cop/style/single_line_block_params_spec.rb +0 -82
  256. data/spec/rubocop/cop/style/single_line_methods_spec.rb +0 -94
  257. data/spec/rubocop/cop/style/single_space_before_first_arg_spec.rb +0 -63
  258. data/spec/rubocop/cop/style/space_after_colon_spec.rb +0 -55
  259. data/spec/rubocop/cop/style/space_after_comma_spec.rb +0 -30
  260. data/spec/rubocop/cop/style/space_after_control_keyword_spec.rb +0 -84
  261. data/spec/rubocop/cop/style/space_after_method_name_spec.rb +0 -70
  262. data/spec/rubocop/cop/style/space_after_not_spec.rb +0 -22
  263. data/spec/rubocop/cop/style/space_after_semicolon_spec.rb +0 -23
  264. data/spec/rubocop/cop/style/space_around_block_parameters_spec.rb +0 -155
  265. data/spec/rubocop/cop/style/space_around_equals_in_parameter_default_spec.rb +0 -95
  266. data/spec/rubocop/cop/style/space_around_operators_spec.rb +0 -330
  267. data/spec/rubocop/cop/style/space_before_block_braces_spec.rb +0 -73
  268. data/spec/rubocop/cop/style/space_before_comma_spec.rb +0 -42
  269. data/spec/rubocop/cop/style/space_before_comment_spec.rb +0 -34
  270. data/spec/rubocop/cop/style/space_before_modifier_keyword_spec.rb +0 -70
  271. data/spec/rubocop/cop/style/space_before_semicolon_spec.rb +0 -28
  272. data/spec/rubocop/cop/style/space_inside_block_braces_spec.rb +0 -317
  273. data/spec/rubocop/cop/style/space_inside_brackets_spec.rb +0 -83
  274. data/spec/rubocop/cop/style/space_inside_hash_literal_braces_spec.rb +0 -147
  275. data/spec/rubocop/cop/style/space_inside_parens_spec.rb +0 -44
  276. data/spec/rubocop/cop/style/space_inside_range_literal_spec.rb +0 -64
  277. data/spec/rubocop/cop/style/special_global_vars_spec.rb +0 -62
  278. data/spec/rubocop/cop/style/string_literals_in_interpolation_spec.rb +0 -99
  279. data/spec/rubocop/cop/style/string_literals_spec.rb +0 -228
  280. data/spec/rubocop/cop/style/struct_inheritance_spec.rb +0 -44
  281. data/spec/rubocop/cop/style/symbol_array_spec.rb +0 -37
  282. data/spec/rubocop/cop/style/symbol_proc_spec.rb +0 -100
  283. data/spec/rubocop/cop/style/tab_spec.rb +0 -47
  284. data/spec/rubocop/cop/style/trailing_blank_lines_spec.rb +0 -83
  285. data/spec/rubocop/cop/style/trailing_comma_spec.rb +0 -390
  286. data/spec/rubocop/cop/style/trailing_whitespace_spec.rb +0 -31
  287. data/spec/rubocop/cop/style/trivial_accessors_spec.rb +0 -558
  288. data/spec/rubocop/cop/style/unless_else_spec.rb +0 -23
  289. data/spec/rubocop/cop/style/unneeded_capital_w_spec.rb +0 -90
  290. data/spec/rubocop/cop/style/unneeded_percent_q_spec.rb +0 -127
  291. data/spec/rubocop/cop/style/unneeded_percent_x_spec.rb +0 -34
  292. data/spec/rubocop/cop/style/variable_interpolation_spec.rb +0 -76
  293. data/spec/rubocop/cop/style/variable_name_spec.rb +0 -107
  294. data/spec/rubocop/cop/style/when_then_spec.rb +0 -42
  295. data/spec/rubocop/cop/style/while_until_do_spec.rb +0 -55
  296. data/spec/rubocop/cop/style/while_until_modifier_spec.rb +0 -93
  297. data/spec/rubocop/cop/style/word_array_spec.rb +0 -117
  298. data/spec/rubocop/cop/team_spec.rb +0 -190
  299. data/spec/rubocop/cop/util_spec.rb +0 -102
  300. data/spec/rubocop/cop/variable_force/assignment_spec.rb +0 -200
  301. data/spec/rubocop/cop/variable_force/locatable_spec.rb +0 -699
  302. data/spec/rubocop/cop/variable_force/reference_spec.rb +0 -19
  303. data/spec/rubocop/cop/variable_force/scope_spec.rb +0 -319
  304. data/spec/rubocop/cop/variable_force/variable_spec.rb +0 -59
  305. data/spec/rubocop/cop/variable_force/variable_table_spec.rb +0 -276
  306. data/spec/rubocop/cop/variable_force_spec.rb +0 -26
  307. data/spec/rubocop/formatter/base_formatter_spec.rb +0 -191
  308. data/spec/rubocop/formatter/clang_style_formatter_spec.rb +0 -114
  309. data/spec/rubocop/formatter/colorizable_spec.rb +0 -107
  310. data/spec/rubocop/formatter/disabled_config_formatter_spec.rb +0 -50
  311. data/spec/rubocop/formatter/disabled_lines_formatter_spec.rb +0 -67
  312. data/spec/rubocop/formatter/emacs_style_formatter_spec.rb +0 -63
  313. data/spec/rubocop/formatter/file_list_formatter_spec.rb +0 -33
  314. data/spec/rubocop/formatter/formatter_set_spec.rb +0 -141
  315. data/spec/rubocop/formatter/fuubar_style_formatter_spec.rb +0 -129
  316. data/spec/rubocop/formatter/html_formatter_spec.rb +0 -48
  317. data/spec/rubocop/formatter/json_formatter_spec.rb +0 -152
  318. data/spec/rubocop/formatter/offense_count_formatter_spec.rb +0 -75
  319. data/spec/rubocop/formatter/progress_formatter_spec.rb +0 -182
  320. data/spec/rubocop/formatter/simple_text_formatter_spec.rb +0 -135
  321. data/spec/rubocop/formatter/text_util_spec.rb +0 -55
  322. data/spec/rubocop/options_spec.rb +0 -181
  323. data/spec/rubocop/path_util_spec.rb +0 -77
  324. data/spec/rubocop/processed_source_spec.rb +0 -184
  325. data/spec/rubocop/rake_task_spec.rb +0 -122
  326. data/spec/rubocop/runner_spec.rb +0 -99
  327. data/spec/rubocop/string_util_spec.rb +0 -46
  328. data/spec/rubocop/target_finder_spec.rb +0 -245
  329. data/spec/rubocop/token_spec.rb +0 -29
  330. data/spec/spec_helper.rb +0 -39
  331. data/spec/support/cop_helper.rb +0 -75
  332. data/spec/support/cops/class_must_be_a_module_cop.rb +0 -19
  333. data/spec/support/cops/module_must_be_a_class_cop.rb +0 -19
  334. data/spec/support/coverage.rb +0 -15
  335. data/spec/support/custom_matchers.rb +0 -58
  336. data/spec/support/file_helper.rb +0 -23
  337. data/spec/support/jruby_workaround.rb +0 -15
  338. data/spec/support/mri_syntax_checker.rb +0 -73
  339. data/spec/support/shared_contexts.rb +0 -53
  340. data/spec/support/shared_examples.rb +0 -55
  341. data/spec/support/statement_modifier_helper.rb +0 -41
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: df6ad6e09fd8b5948ba0e46ebe68fae1ffd6d391
4
- data.tar.gz: b72c490888b7453005265d7bd96414e8b1bab28b
3
+ metadata.gz: cfb8767af8dbacb709c18984362c3f0ebf079bac
4
+ data.tar.gz: a708cd07a3898819ee883a1d0335e4b6e46a876b
5
5
  SHA512:
6
- metadata.gz: 8c7437f405d30ba9571b0d2088b1bc0398857d55bd846437c1415bc39a573bdcf19c0e4f920e1ea2b835f18bcc4c6d733ffc72eea941e736080e8632e01d4d86
7
- data.tar.gz: d140fbca7c9cc078c467491f00a5252272f81abaca6701647fd2a085f1c682170724e9601d46930dbae0f2faf0a38f4c1face6ac77e925ea33e2e1342c3b7ce8
6
+ metadata.gz: c7ee8445ee2df5c0fc33c11d630bc312667e820bfdf9bd083b11f03a4f70054466a0b3b87a5c3df732f8771a0f5d384bf885e98a034732e66ffa5d3399930406
7
+ data.tar.gz: 646974110dfba6110e1aefccd11d613e86411a1809b07fb110adc8a0e91f9bbcf44687ba8184f5db6be7169d226b2a3891f015b1e3985b50020131ddc17d15f1
@@ -2,6 +2,67 @@
2
2
 
3
3
  ## master (unreleased)
4
4
 
5
+ ## 0.30.0 (06/04/2015)
6
+
7
+ ### New features
8
+
9
+ * [#1600](https://github.com/bbatsov/rubocop/issues/1600): Add `line_count_based` and `semantic` styles to the `BlockDelimiters` (formerly `Blocks`) cop. ([@clowder][], [@mudge][])
10
+ * [#1712](https://github.com/bbatsov/rubocop/pull/1712): Set `Offense#corrected?` to `true`, `false`, or `nil` when it was, wasn't, or can't be auto-corrected, respectively. ([@vassilevsky][])
11
+ * [#1669](https://github.com/bbatsov/rubocop/pull/1669): Add command-line switch `--display-style-guide`. ([@marxarelli][])
12
+ * [#1405](https://github.com/bbatsov/rubocop/issues/1405): Add Rails TimeZone and Date cops. ([@palkan][])
13
+ * [#1641](https://github.com/bbatsov/rubocop/pull/1641): Add ruby19_no_mixed_keys style to `HashStyle` cop. ([@iainbeeston][])
14
+ * [#1604](https://github.com/bbatsov/rubocop/issues/1604): Add `IgnoreClassMethods` option to `TrivialAccessors` cop. ([@bbatsov][])
15
+ * [#1651](https://github.com/bbatsov/rubocop/issues/1651): The `Style/SpaceAroundOperators` cop now also detects extra spaces around operators. A list of operators that *may* be surrounded by multiple spaces is configurable. ([@bquorning][])
16
+ * Add auto-correct to `Encoding` cop. ([@rrosenblum][])
17
+ * [#1621](https://github.com/bbatsov/rubocop/issues/1621): `TrailingComma` has a new style `consistent_comma`. ([@tamird][])
18
+ * [#1611](https://github.com/bbatsov/rubocop/issues/1611): Add `empty`, `nil`, and `both` `SupportedStyles` to `EmptyElse` cop. Default is `both`. ([@rrosenblum][])
19
+ * [#1611](https://github.com/bbatsov/rubocop/issues/1611): Add new `MissingElse` cop. Default is to have this cop be disabled. ([@rrosenblum][])
20
+ * [#1602](https://github.com/bbatsov/rubocop/issues/1602): Add support for `# :nodoc` in `Documentation`. ([@lumeet][])
21
+ * [#1437](https://github.com/bbatsov/rubocop/issues/1437): Modify `HashSyntax` cop to allow the use of hash rockets for hashes that have symbol values when using ruby19 syntax. ([@rrosenblum][])
22
+ * New cop `Style/SymbolLiteral` makes sure you're not using the string within symbol syntax unless it's needed. ([@bbatsov][])
23
+ * [#1657](https://github.com/bbatsov/rubocop/issues/1657): Autocorrect can be turned off on a specific cop via the configuration. ([@jdoconnor][])
24
+ * New cop `Style/AutoResourceCleanup` suggests the use of block taking versions of methods that do resource cleanup. ([@bbatsov][])
25
+ * [#1275](https://github.com/bbatsov/rubocop/issues/1275): `WhileUntilModifier` cop does auto-correction. ([@lumeet][])
26
+ * New cop `Performance/ReverseEach` to convert `reverse.each` to `reverse_each`. ([@rrosenblum][])
27
+ * [#1281](https://github.com/bbatsov/rubocop/issues/1281): `IfUnlessModifier` cop does auto-correction. ([@lumeet][])
28
+ * New cop `Performance/Detect` to detect usage of `select.first`, `select.last`, `find_all.first`, and `find_all.last` and convert them to use `detect` instead. ([@palkan][], [@rrosenblum][])
29
+ * [#1728](https://github.com/bbatsov/rubocop/pull/1728): New cop `NonLocalExitFromIterator` checks for misused `return` in block. ([@ypresto][])
30
+ * New cop `Performance/Size` to convert calls to `count` on `Array` and `Hash` to `size`. ([@rrosenblum][])
31
+ * New cop `Performance/Sample` to convert usages of `shuffle.first`, `shuffle.last`, and `shuffle[Fixnum]` to `sample`. ([@rrosenblum][])
32
+ * New cop `Performance/FlatMap` to convert `Enumerable#map...Array#flatten` and `Enumerable#collect...Array#flatten` to `Enumerable#flat_map`. ([@rrosenblum][])
33
+ * [#1144](https://github.com/bbatsov/rubocop/issues/1144): New cop `ClosingParenthesisIndentation` checks the indentation of hanging closing parentheses. ([@jonas054][])
34
+ * New Rails cop `FindBy` identifies usages of `where.first` and `where.take`. ([@bbatsov][])
35
+ * New Rails cop `FindEach` identifies usages of `all.each`. ([@bbatsov][])
36
+ * [#1342](https://github.com/bbatsov/rubocop/issues/1342): `IndentationConsistency` is now configurable with the styles `normal` and `rails`. ([@jonas054][])
37
+
38
+ ### Bugs fixed
39
+
40
+ * [#1705](https://github.com/bbatsov/rubocop/issues/1705): Fix crash when reporting offenses of `MissingElse` cop. ([@gerry3][])
41
+ * [#1659](https://github.com/bbatsov/rubocop/pull/1659): Fix stack overflow with JRuby and Windows 8, during initial config validation. ([@pimterry][])
42
+ * [#1694](https://github.com/bbatsov/rubocop/issues/1694): Ignore methods with a `blockarg` in `TrivialAccessors`. ([@bbatsov][])
43
+ * [#1617](https://github.com/bbatsov/rubocop/issues/1617): Always read the html output template using utf-8. ([@bbatsov][])
44
+ * [#1684](https://github.com/bbatsov/rubocop/issues/1684): Ignore symbol keys like `:"string"` in `HashSyntax`. ([@bbatsov][])
45
+ * Handle explicit `begin` blocks in `Lint/Void`. ([@bbatsov][])
46
+ * Handle symbols in `Lint/Void`. ([@bbatsov][])
47
+ * [#1695](https://github.com/bbatsov/rubocop/pull/1695): Fix bug with `--auto-gen-config` and `SpaceInsideBlockBraces`. ([@meganemura][])
48
+ * Correct issues with whitespace around multi-line lambda arguments. ([@zvkemp][])
49
+ * [#1579](https://github.com/bbatsov/rubocop/issues/1579): Fix handling of similar-looking blocks in `BlockAlignment`. ([@lumeet][])
50
+ * [#1676](https://github.com/bbatsov/rubocop/pull/1676): Fix auto-correct in `Lambda` when a new multi-line lambda is used as an argument. ([@lumeet][])
51
+ * [#1656](https://github.com/bbatsov/rubocop/issues/1656): Fix bug that would include hidden directories implicitly. ([@jonas054][])
52
+ * [#1728](https://github.com/bbatsov/rubocop/pull/1728): Fix bug in `LiteralInInterpolation` and `AssignmentInCondition`. ([@ypresto][])
53
+ * [#1735](https://github.com/bbatsov/rubocop/issues/1735): Handle trailing space in `LineEndConcatenation` autocorrect. ([@jonas054][])
54
+ * [#1750](https://github.com/bbatsov/rubocop/issues/1750): Escape offending code lines output by the HTML formatter in case they contain markup. ([@jonas054][])
55
+ * [#1541](https://github.com/bbatsov/rubocop/issues/1541): No inspection of text that follows `__END__`. ([@jonas054][])
56
+ * Fix comment detection in `Style/Documentation`. ([@lumeet][])
57
+ * [#1637](https://github.com/bbatsov/rubocop/issues/1637): Fix handling of `binding` calls in `UnusedBlockArgument` and `UnusedMethodArgument`. ([@lumeet][])
58
+
59
+ ### Changes
60
+
61
+ * [#1397](https://github.com/bbatsov/rubocop/issues/1397): `UnneededPercentX` renamed to `CommandLiteral`. The cop can be configured to enforce using either `%x` or backticks around command literals, or using `%x` around multi-line commands and backticks around single-line commands. The cop ignores heredoc commands. ([@bquorning][])
62
+ * [#1020](https://github.com/bbatsov/rubocop/issues/1020): Removed the `MaxSlashes` configuration option for `RegexpLiteral`. Instead, the cop can be configured to enforce using either `%r` or slashes around regular expressions, or using `%r` around multi-line regexes and slashes around single-line regexes. ([@bquorning][])
63
+ * [#1734](https://github.com/bbatsov/rubocop/issues/1734): The default exclusion of hidden directories has been optimized for speed. ([@jonas054][])
64
+ * [#1673](https://github.com/bbatsov/rubocop/issues/1673): `Style/TrivialAccessors` now requires matching names by default. ([@bbatsov][])
65
+
5
66
  ## 0.29.1 (13/02/2015)
6
67
 
7
68
  ### Bugs fixed
@@ -66,7 +127,7 @@
66
127
 
67
128
  ### New features
68
129
 
69
- * New cop `ExtraSpacing` points out unnecessary spacing in files. ([@blainesch][])
130
+ * [#1450](https://github.com/bbatsov/rubocop/issues/1450): New cop `ExtraSpacing` points out unnecessary spacing in files. ([@blainesch][])
70
131
  * New cop `EmptyLinesAroundBlockBody` provides same functionality as the EmptyLinesAround(Class|Method|Module)Body but for blocks. ([@jcarbo][])
71
132
  * New cop `Style/EmptyElse` checks for empty `else`-clauses. ([@Koronen][])
72
133
  * [#1454](https://github.com/bbatsov/rubocop/issues/1454): New `--only-guide-cops` and `AllCops/StyleGuideCopsOnly` options that will only enforce cops that link to a style guide. ([@marxarelli][])
@@ -1260,3 +1321,14 @@
1260
1321
  [@d4rk5eed]: https://github.com/d4rk5eed
1261
1322
  [@cshaffer]: https://github.com/cshaffer
1262
1323
  [@eitoball]: https://github.com/eitoball
1324
+ [@iainbeeston]: https://github.com/iainbeeston
1325
+ [@pimterry]: https://github.com/pimterry
1326
+ [@palkan]: https://github.com/palkan
1327
+ [@jdoconnor]: https://github.com/jdoconnor
1328
+ [@meganemura]: https://github.com/meganemura
1329
+ [@zvkemp]: https://github.com/zvkemp
1330
+ [@vassilevsky]: https://github.com/vassilevsky
1331
+ [@gerry3]: https://github.com/gerry3
1332
+ [@ypresto]: https://github.com/ypresto
1333
+ [@clowder]: https://github.com/clowder
1334
+ [@mudge]: https://github.com/mudge
data/README.md CHANGED
@@ -23,6 +23,8 @@ Most aspects of its behavior can be tweaked via various
23
23
  Apart from reporting problems in your code, RuboCop can also
24
24
  automatically fix some of the problems for you.
25
25
 
26
+ [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/bbatsov/rubocop?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
27
+
26
28
  You can support my work on RuboCop and [all my other projects](https://github.com/bbatsov) via [gratipay](https://www.gratipay.com/bbatsov).
27
29
 
28
30
  [![Support via Gratipay](https://cdn.rawgit.com/gratipay/gratipay-badge/2.1.3/dist/gratipay.png)](https://gratipay.com/bbatsov)
@@ -30,8 +32,8 @@ You can support my work on RuboCop and [all my other projects](https://github.co
30
32
  **This documentation tracks the `master` branch of RuboCop. Some of
31
33
  the features and settings discussed here might not be available in
32
34
  older releases (including the current stable release). Please, consult
33
- the relevant git repo branch if you need documentation for a specific RuboCop
34
- release.**
35
+ the relevant git tag (e.g. v0.30.0) if you need documentation for a
36
+ specific RuboCop release.**
35
37
 
36
38
  - [Installation](#installation)
37
39
  - [Basic Usage](#basic-usage)
@@ -745,6 +747,13 @@ require 'rubocop/rake_task'
745
747
  RuboCop::RakeTask.new
746
748
  ```
747
749
 
750
+ If you run `rake -T`, the following two RuboCop tasks should show up:
751
+
752
+ ```sh
753
+ rake rubocop # Run RuboCop
754
+ rake rubocop:auto_correct # Auto-correct RuboCop offenses
755
+ ```
756
+
748
757
  The above will use default values
749
758
 
750
759
  ```ruby
@@ -33,6 +33,10 @@ AllCops:
33
33
  # by overriding DisplayCopNames, or by giving the -D/--display-cop-names
34
34
  # option.
35
35
  DisplayCopNames: false
36
+ # Style guide URLs are not displayed in offense messages by default. Change
37
+ # behavior by overriding DisplayStyleGuide, or by giving the
38
+ # -S/--display-style-guide option.
39
+ DisplayStyleGuide: false
36
40
  # Additional cops that do not reference a style guide rule may be enabled by
37
41
  # default. Change behavior by overriding StyleGuideCopsOnly, or by giving
38
42
  # the --only-guide-cops option.
@@ -144,6 +148,72 @@ Style/BarePercentLiterals:
144
148
  - percent_q
145
149
  - bare_percent
146
150
 
151
+ Style/BlockDelimiters:
152
+ EnforcedStyle: line_count_based
153
+ SupportedStyles:
154
+ # The `line_count_based` style enforces braces around single line blocks and
155
+ # do..end around multi-line blocks.
156
+ - line_count_based
157
+ # The `semantic` style enforces braces around functional blocks, where the
158
+ # primary purpose of the block is to return a value and do..end for
159
+ # procedural blocks, where the primary purpose of the block is its
160
+ # side-effects.
161
+ #
162
+ # This looks at the usage of a block's method to determine its type (e.g. is
163
+ # the result of a `map` assigned to a variable or passed to another
164
+ # method) but exceptions are permitted in the `ProceduralMethods`,
165
+ # `FunctionalMethods` and `IgnoredMethods` sections below.
166
+ - semantic
167
+ ProceduralMethods:
168
+ # Methods that are known to be procedural in nature but look functional from
169
+ # their usage, e.g.
170
+ #
171
+ # time = Benchmark.realtime do
172
+ # foo.bar
173
+ # end
174
+ #
175
+ # Here, the return value of the block is discarded but the return value of
176
+ # `Benchmark.realtime` is used.
177
+ - benchmark
178
+ - bm
179
+ - bmbm
180
+ - create
181
+ - each_with_object
182
+ - measure
183
+ - new
184
+ - realtime
185
+ - tap
186
+ - with_object
187
+ FunctionalMethods:
188
+ # Methods that are known to be functional in nature but look procedural from
189
+ # their usage, e.g.
190
+ #
191
+ # let(:foo) { Foo.new }
192
+ #
193
+ # Here, the return value of `Foo.new` is used to define a `foo` helper but
194
+ # doesn't appear to be used from the return value of `let`.
195
+ - let
196
+ - let!
197
+ - subject
198
+ - watch
199
+ IgnoredMethods:
200
+ # Methods that can be either procedural or functional and cannot be
201
+ # categorised from their usage alone, e.g.
202
+ #
203
+ # foo = lambda do |x|
204
+ # puts "Hello, #{x}"
205
+ # end
206
+ #
207
+ # foo = lambda do |x|
208
+ # x * 100
209
+ # end
210
+ #
211
+ # Here, it is impossible to tell from the return value of `lambda` whether
212
+ # the inner block's return value is significant.
213
+ - lambda
214
+ - proc
215
+ - it
216
+
147
217
  Style/BracesAroundHashParameters:
148
218
  EnforcedStyle: no_braces
149
219
  SupportedStyles:
@@ -208,6 +278,20 @@ Style/CollectionMethods:
208
278
  detect: 'find'
209
279
  find_all: 'select'
210
280
 
281
+ # Use ` or %x around command literals.
282
+ Style/CommandLiteral:
283
+ EnforcedStyle: backticks
284
+ # backticks: Always use backticks.
285
+ # percent_x: Always use %x.
286
+ # mixed: Use backticks on single-line commands, and %x on multi-line commands.
287
+ SupportedStyles:
288
+ - backticks
289
+ - percent_x
290
+ - mixed
291
+ # If false, the cop will always recommend using %x if one or more backticks
292
+ # are found in the command string.
293
+ AllowInnerBackticks: false
294
+
211
295
  # Checks formatting of special comments
212
296
  Style/CommentAnnotation:
213
297
  Keywords:
@@ -217,6 +301,28 @@ Style/CommentAnnotation:
217
301
  - HACK
218
302
  - REVIEW
219
303
 
304
+ # Checks that you have put a copyright in a comment before any code.
305
+ #
306
+ # You can override the default Notice in your .rubocop.yml file.
307
+ #
308
+ # In order to use autocorrect, you must supply a value for the
309
+ # AutocorrectNotice key that matches the regexp Notice. A blank
310
+ # AutocorrectNotice will cause an error during autocorrect.
311
+ #
312
+ # Autocorrect will add a copyright notice in a comment at the top
313
+ # of the file immediately after any shebang or encoding comments.
314
+ #
315
+ # Example rubocop.yml:
316
+ #
317
+ # Style/Copyright:
318
+ # Enabled: true
319
+ # Notice: 'Copyright (\(c\) )?2015 Yahoo! Inc'
320
+ # AutocorrectNotice: '# Copyright (c) 2015 Yahoo! Inc.'
321
+ #
322
+ Style/Copyright:
323
+ Notice: '^Copyright (\(c\) )?2[0-9]{3} .+'
324
+ AutocorrectNotice: ''
325
+
220
326
  # Multi-line method chaining should be done with leading dots.
221
327
  Style/DotPosition:
222
328
  EnforcedStyle: leading
@@ -224,6 +330,17 @@ Style/DotPosition:
224
330
  - leading
225
331
  - trailing
226
332
 
333
+ # Warn on empty else statements
334
+ # empty - warn only on empty else
335
+ # nil - warn on else with nil in it
336
+ # both - warn on empty else and else with nil in it
337
+ Style/EmptyElse:
338
+ EnforcedStyle: both
339
+ SupportedStyles:
340
+ - empty
341
+ - nil
342
+ - both
343
+
227
344
  # Use empty lines between defs.
228
345
  Style/EmptyLineBetweenDefs:
229
346
  # If true, this parameter means that single line method definitions don't
@@ -249,11 +366,14 @@ Style/EmptyLinesAroundModuleBody:
249
366
  - no_empty_lines
250
367
 
251
368
  # Checks whether the source file has a utf-8 encoding comment or not
369
+ # AutoCorrectEncodingComment must match the regex
370
+ # /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
252
371
  Style/Encoding:
253
372
  EnforcedStyle: always
254
373
  SupportedStyles:
255
374
  - when_needed
256
375
  - always
376
+ AutoCorrectEncodingComment: '# encoding: utf-8'
257
377
 
258
378
  Style/FileName:
259
379
  # File names listed in AllCops:Include are excluded by default. Add extra
@@ -303,11 +423,26 @@ Style/HashSyntax:
303
423
  EnforcedStyle: ruby19
304
424
  SupportedStyles:
305
425
  - ruby19
426
+ - ruby19_no_mixed_keys
306
427
  - hash_rockets
428
+ # Force hashes that have a symbol value to use hash rockets
429
+ UseHashRocketsWithSymbolValues: false
307
430
 
308
431
  Style/IfUnlessModifier:
309
432
  MaxLineLength: 80
310
433
 
434
+ Style/IndentationConsistency:
435
+ # The difference between `rails` and `normal` is that the `rails` style
436
+ # prescribes that in classes and modules the `protected` and `private`
437
+ # modifier keywords shall be indented the same as public methods and that
438
+ # protected and private members shall be indented one step more than the
439
+ # modifiers. Other than that, both styles mean that entities on the same
440
+ # logical depth shall have the same indentation.
441
+ EnforcedStyle: normal
442
+ SupportedStyles:
443
+ - normal
444
+ - rails
445
+
311
446
  Style/IndentationWidth:
312
447
  # Number of spaces for each indentation level.
313
448
  Width: 2
@@ -418,10 +553,19 @@ Style/RedundantReturn:
418
553
  # When true allows code like `return x, y`.
419
554
  AllowMultipleReturnValues: false
420
555
 
556
+ # Use / or %r around regular expressions.
421
557
  Style/RegexpLiteral:
422
- # The maximum number of (escaped) slashes that a slash-delimited regexp is
423
- # allowed to have. If there are more slashes, a %r regexp shall be used.
424
- MaxSlashes: 1
558
+ EnforcedStyle: slashes
559
+ # slashes: Always use slashes.
560
+ # percent_r: Always use %r.
561
+ # mixed: Use slashes on single-line regexes, and %r on multi-line regexes.
562
+ SupportedStyles:
563
+ - slashes
564
+ - percent_r
565
+ - mixed
566
+ # If false, the cop will always recommend using %r if one or more slashes
567
+ # are found in the regexp string.
568
+ AllowInnerSlashes: false
425
569
 
426
570
  Style/Semicolon:
427
571
  # Allow ; to separate several expressions on the same line.
@@ -470,6 +614,11 @@ Style/SpaceAroundEqualsInParameterDefault:
470
614
  - space
471
615
  - no_space
472
616
 
617
+ Style/SpaceAroundOperators:
618
+ MultiSpaceAllowedForOperators:
619
+ - '='
620
+ - '=>'
621
+
473
622
  Style/SpaceBeforeBlockBraces:
474
623
  EnforcedStyle: space
475
624
  SupportedStyles:
@@ -506,17 +655,28 @@ Style/TrailingBlankLines:
506
655
  - final_blank_line
507
656
 
508
657
  Style/TrailingComma:
509
- # If EnforcedStyleForMultiline is comma, the cop allows a comma after the
658
+ # If EnforcedStyleForMultiline is comma, the cop requires a comma after the
510
659
  # last item of a list, but only for lists where each item is on its own line.
660
+ # If EnforcedStyleForMultiline is consistent_comma, the cop requires a comma
661
+ # after the last item of a list, for all lists.
511
662
  EnforcedStyleForMultiline: no_comma
512
663
  SupportedStyles:
513
664
  - comma
665
+ - consistent_comma
514
666
  - no_comma
515
667
 
516
- # TrivialAccessors doesn't require exact name matches and doesn't allow
668
+ # TrivialAccessors requires exact name matches and doesn't allow
517
669
  # predicated methods by default.
518
670
  Style/TrivialAccessors:
519
- ExactNameMatch: false
671
+ # When set to false the cop will suggest the use of accessor methods
672
+ # in situations like:
673
+ #
674
+ # def name
675
+ # @other_name
676
+ # end
677
+ #
678
+ # This way you can uncover "hidden" attributes in your code.
679
+ ExactNameMatch: true
520
680
  AllowPredicates: false
521
681
  # Allows trivial writers that don't end in an equal sign. e.g.
522
682
  #
@@ -527,6 +687,7 @@ Style/TrivialAccessors:
527
687
  #
528
688
  # Commonly used in DSLs
529
689
  AllowDSLWriters: false
690
+ IgnoreClassMethods: false
530
691
  Whitelist:
531
692
  - to_ary
532
693
  - to_a
@@ -636,10 +797,29 @@ Rails/ActionFilter:
636
797
  Include:
637
798
  - app/controllers/**/*.rb
638
799
 
800
+ Rails/Date:
801
+ # The value `always` disallows usage of `Date.today`, `Date.current`,
802
+ # `Date#to_time` etc.
803
+ # The value `acceptable` allows usage of `Date.current`, `Date.yesterday`, etc
804
+ # (but not `Date.today`) which are overriden by ActiveSupport to handle current
805
+ # time zone.
806
+ EnforcedStyle: always
807
+ SupportedStyles:
808
+ - always
809
+ - acceptable
810
+
639
811
  Rails/DefaultScope:
640
812
  Include:
641
813
  - app/models/**/*.rb
642
814
 
815
+ Rails/FindBy:
816
+ Include:
817
+ - app/models/**/*.rb
818
+
819
+ Rails/FindEach:
820
+ Include:
821
+ - app/models/**/*.rb
822
+
643
823
  Rails/HasAndBelongsToMany:
644
824
  Include:
645
825
  - app/models/**/*.rb
@@ -659,6 +839,14 @@ Rails/ScopeArgs:
659
839
  Include:
660
840
  - app/models/**/*.rb
661
841
 
842
+ Rails/TimeZone:
843
+ # The value `always` means that `Time` should be used with `zone`.
844
+ # The value `acceptable` allows usage of `in_time_zone` instead of `zone`.
845
+ EnforcedStyle: always
846
+ SupportedStyles:
847
+ - always
848
+ - acceptable
849
+
662
850
  Rails/Validation:
663
851
  Include:
664
852
  - app/models/**/*.rb
@@ -1,10 +1,18 @@
1
1
  # These are all the cops that are disabled in the default configuration.
2
2
 
3
+ Style/AutoResourceCleanup:
4
+ Description: 'Suggests the usage of an auto resource cleanup version of a method (if available).'
5
+ Enabled: false
6
+
3
7
  Style/CollectionMethods:
4
8
  Description: 'Preferred collection methods.'
5
9
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#map-find-select-reduce-size'
6
10
  Enabled: false
7
11
 
12
+ Style/Copyright:
13
+ Description: 'Include a copyright notice in each file before any code.'
14
+ Enabled: false
15
+
8
16
  Style/Encoding:
9
17
  Description: 'Use UTF-8 as the source file encoding.'
10
18
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#utf-8'
@@ -19,6 +27,23 @@ Style/MethodCalledOnDoEndBlock:
19
27
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
20
28
  Enabled: false
21
29
 
30
+ Style/MissingElse:
31
+ Description: >-
32
+ Require if/case expressions to have an else branches.
33
+ If enabled, it is recommended that
34
+ Style/UnlessElse and Style/EmptyElse be enabled.
35
+ This will conflict with Style/EmptyElse if
36
+ Style/EmptyElse is configured to style "both"
37
+ Enabled: false
38
+ EnforcedStyle: both
39
+ SupportedStyles:
40
+ # if - warn when an if expression is missing an else branch
41
+ # case - warn when a case expression is misisng an else branch
42
+ # both - warn when an if or case expression is missing an else branch
43
+ - if
44
+ - case
45
+ - both
46
+
22
47
  Style/SymbolArray:
23
48
  Description: 'Use %i or %I for arrays of symbols.'
24
49
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-i'
@@ -27,4 +52,3 @@ Style/SymbolArray:
27
52
  Style/ExtraSpacing:
28
53
  Description: 'Do not use unnecessary spacing.'
29
54
  Enabled: false
30
-