rubocop 0.31.0 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +315 -0
  3. data/README.md +199 -38
  4. data/config/default.yml +91 -12
  5. data/config/disabled.yml +45 -4
  6. data/config/enabled.yml +107 -9
  7. data/lib/rubocop/ast_node.rb +48 -0
  8. data/lib/rubocop/cli.rb +11 -1
  9. data/lib/rubocop/comment_config.rb +4 -1
  10. data/lib/rubocop/config.rb +26 -17
  11. data/lib/rubocop/config_loader.rb +61 -14
  12. data/lib/rubocop/cop/commissioner.rb +7 -12
  13. data/lib/rubocop/cop/cop.rb +43 -20
  14. data/lib/rubocop/cop/lint/block_alignment.rb +1 -1
  15. data/lib/rubocop/cop/lint/circular_argument_reference.rb +69 -0
  16. data/lib/rubocop/cop/lint/debugger.rb +9 -48
  17. data/lib/rubocop/cop/lint/def_end_alignment.rb +8 -4
  18. data/lib/rubocop/cop/lint/deprecated_class_methods.rb +42 -23
  19. data/lib/rubocop/cop/lint/duplicate_methods.rb +2 -2
  20. data/lib/rubocop/cop/lint/duplicated_key.rb +37 -0
  21. data/lib/rubocop/cop/lint/end_alignment.rb +33 -13
  22. data/lib/rubocop/cop/lint/eval.rb +6 -2
  23. data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +175 -0
  24. data/lib/rubocop/cop/lint/literal_in_condition.rb +0 -5
  25. data/lib/rubocop/cop/lint/literal_in_interpolation.rb +10 -0
  26. data/lib/rubocop/cop/lint/nested_method_definition.rb +31 -0
  27. data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +19 -1
  28. data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +1 -1
  29. data/lib/rubocop/cop/lint/space_before_first_arg.rb +1 -1
  30. data/lib/rubocop/cop/lint/unneeded_disable.rb +72 -0
  31. data/lib/rubocop/cop/lint/unused_block_argument.rb +6 -0
  32. data/lib/rubocop/cop/lint/unused_method_argument.rb +8 -0
  33. data/lib/rubocop/cop/metrics/abc_size.rb +17 -6
  34. data/lib/rubocop/cop/metrics/class_length.rb +1 -1
  35. data/lib/rubocop/cop/metrics/method_length.rb +1 -3
  36. data/lib/rubocop/cop/metrics/module_length.rb +1 -1
  37. data/lib/rubocop/cop/metrics/parameter_lists.rb +1 -1
  38. data/lib/rubocop/cop/mixin/access_modifier_node.rb +1 -1
  39. data/lib/rubocop/cop/mixin/annotation_comment.rb +1 -2
  40. data/lib/rubocop/cop/mixin/autocorrect_alignment.rb +28 -4
  41. data/lib/rubocop/cop/mixin/autocorrect_unless_changing_ast.rb +26 -3
  42. data/lib/rubocop/cop/mixin/check_assignment.rb +2 -3
  43. data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +59 -12
  44. data/lib/rubocop/cop/mixin/configurable_max.rb +1 -1
  45. data/lib/rubocop/cop/mixin/configurable_naming.rb +14 -3
  46. data/lib/rubocop/cop/mixin/empty_lines_around_body.rb +1 -3
  47. data/lib/rubocop/cop/mixin/end_keyword_alignment.rb +10 -1
  48. data/lib/rubocop/cop/mixin/first_element_line_break.rb +41 -0
  49. data/lib/rubocop/cop/mixin/if_node.rb +10 -0
  50. data/lib/rubocop/cop/mixin/method_preference.rb +28 -0
  51. data/lib/rubocop/cop/mixin/negative_conditional.rb +1 -1
  52. data/lib/rubocop/cop/mixin/on_method_def.rb +4 -5
  53. data/lib/rubocop/cop/mixin/safe_assignment.rb +3 -14
  54. data/lib/rubocop/cop/mixin/space_after_punctuation.rb +8 -1
  55. data/lib/rubocop/cop/mixin/space_before_punctuation.rb +8 -1
  56. data/lib/rubocop/cop/mixin/statement_modifier.rb +4 -7
  57. data/lib/rubocop/cop/mixin/string_help.rb +1 -1
  58. data/lib/rubocop/cop/mixin/string_literals_help.rb +1 -1
  59. data/lib/rubocop/cop/mixin/surrounding_space.rb +5 -4
  60. data/lib/rubocop/cop/offense.rb +16 -3
  61. data/lib/rubocop/cop/performance/case_when_splat.rb +160 -0
  62. data/lib/rubocop/cop/performance/count.rb +35 -30
  63. data/lib/rubocop/cop/performance/detect.rb +16 -3
  64. data/lib/rubocop/cop/performance/fixed_size.rb +50 -0
  65. data/lib/rubocop/cop/performance/flat_map.rb +3 -3
  66. data/lib/rubocop/cop/performance/sample.rb +103 -59
  67. data/lib/rubocop/cop/performance/size.rb +2 -1
  68. data/lib/rubocop/cop/performance/string_replacement.rb +187 -0
  69. data/lib/rubocop/cop/rails/action_filter.rb +31 -5
  70. data/lib/rubocop/cop/rails/date.rb +15 -14
  71. data/lib/rubocop/cop/rails/pluralization_grammar.rb +97 -0
  72. data/lib/rubocop/cop/rails/read_write_attribute.rb +1 -1
  73. data/lib/rubocop/cop/rails/time_zone.rb +46 -18
  74. data/lib/rubocop/cop/style/alias.rb +1 -0
  75. data/lib/rubocop/cop/style/align_hash.rb +8 -15
  76. data/lib/rubocop/cop/style/align_parameters.rb +19 -7
  77. data/lib/rubocop/cop/style/and_or.rb +42 -13
  78. data/lib/rubocop/cop/style/auto_resource_cleanup.rb +2 -1
  79. data/lib/rubocop/cop/style/block_comments.rb +4 -2
  80. data/lib/rubocop/cop/style/block_delimiters.rb +69 -24
  81. data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +40 -12
  82. data/lib/rubocop/cop/style/case_indentation.rb +18 -4
  83. data/lib/rubocop/cop/style/collection_methods.rb +2 -20
  84. data/lib/rubocop/cop/style/command_literal.rb +2 -10
  85. data/lib/rubocop/cop/style/comment_annotation.rb +29 -8
  86. data/lib/rubocop/cop/style/copyright.rb +5 -3
  87. data/lib/rubocop/cop/style/documentation.rb +21 -12
  88. data/lib/rubocop/cop/style/dot_position.rb +6 -0
  89. data/lib/rubocop/cop/style/double_negation.rb +4 -15
  90. data/lib/rubocop/cop/style/each_with_object.rb +17 -4
  91. data/lib/rubocop/cop/style/else_alignment.rb +2 -1
  92. data/lib/rubocop/cop/style/empty_else.rb +25 -0
  93. data/lib/rubocop/cop/style/empty_line_between_defs.rb +39 -14
  94. data/lib/rubocop/cop/style/encoding.rb +10 -4
  95. data/lib/rubocop/cop/style/extra_spacing.rb +126 -5
  96. data/lib/rubocop/cop/style/first_array_element_line_break.rb +41 -0
  97. data/lib/rubocop/cop/style/first_hash_element_line_break.rb +35 -0
  98. data/lib/rubocop/cop/style/first_method_argument_line_break.rb +37 -0
  99. data/lib/rubocop/cop/style/first_method_parameter_line_break.rb +42 -0
  100. data/lib/rubocop/cop/style/first_parameter_indentation.rb +5 -3
  101. data/lib/rubocop/cop/style/for.rb +2 -1
  102. data/lib/rubocop/cop/style/hash_syntax.rb +5 -0
  103. data/lib/rubocop/cop/style/if_unless_modifier.rb +32 -5
  104. data/lib/rubocop/cop/style/indent_hash.rb +67 -37
  105. data/lib/rubocop/cop/style/indentation_width.rb +36 -10
  106. data/lib/rubocop/cop/style/initial_indentation.rb +37 -0
  107. data/lib/rubocop/cop/style/leading_comment_space.rb +3 -2
  108. data/lib/rubocop/cop/style/method_call_parentheses.rb +28 -1
  109. data/lib/rubocop/cop/style/method_def_parentheses.rb +10 -7
  110. data/lib/rubocop/cop/style/multiline_operation_indentation.rb +21 -24
  111. data/lib/rubocop/cop/style/mutable_constant.rb +35 -0
  112. data/lib/rubocop/cop/style/nested_modifier.rb +97 -0
  113. data/lib/rubocop/cop/style/next.rb +50 -15
  114. data/lib/rubocop/cop/style/non_nil_check.rb +12 -8
  115. data/lib/rubocop/cop/style/one_line_conditional.rb +8 -4
  116. data/lib/rubocop/cop/style/option_hash.rb +64 -0
  117. data/lib/rubocop/cop/style/optional_arguments.rb +49 -0
  118. data/lib/rubocop/cop/style/parallel_assignment.rb +218 -0
  119. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +3 -66
  120. data/lib/rubocop/cop/style/predicate_name.rb +7 -2
  121. data/lib/rubocop/cop/style/redundant_begin.rb +2 -13
  122. data/lib/rubocop/cop/style/redundant_freeze.rb +37 -0
  123. data/lib/rubocop/cop/style/redundant_return.rb +32 -3
  124. data/lib/rubocop/cop/style/regexp_literal.rb +2 -10
  125. data/lib/rubocop/cop/style/rescue_ensure_alignment.rb +81 -0
  126. data/lib/rubocop/cop/style/rescue_modifier.rb +30 -22
  127. data/lib/rubocop/cop/style/send.rb +18 -0
  128. data/lib/rubocop/cop/style/signal_exception.rb +24 -11
  129. data/lib/rubocop/cop/style/single_line_methods.rb +8 -9
  130. data/lib/rubocop/cop/style/single_space_before_first_arg.rb +1 -1
  131. data/lib/rubocop/cop/style/space_around_operators.rb +2 -0
  132. data/lib/rubocop/cop/style/space_inside_string_interpolation.rb +61 -0
  133. data/lib/rubocop/cop/style/special_global_vars.rb +4 -2
  134. data/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +108 -0
  135. data/lib/rubocop/cop/style/string_methods.rb +32 -0
  136. data/lib/rubocop/cop/style/struct_inheritance.rb +11 -10
  137. data/lib/rubocop/cop/style/symbol_literal.rb +1 -1
  138. data/lib/rubocop/cop/style/symbol_proc.rb +62 -13
  139. data/lib/rubocop/cop/style/trailing_blank_lines.rb +9 -1
  140. data/lib/rubocop/cop/style/trailing_comma.rb +17 -7
  141. data/lib/rubocop/cop/style/trailing_underscore_variable.rb +23 -2
  142. data/lib/rubocop/cop/style/trivial_accessors.rb +10 -1
  143. data/lib/rubocop/cop/style/unneeded_percent_q.rb +31 -20
  144. data/lib/rubocop/cop/style/variable_name.rb +5 -0
  145. data/lib/rubocop/cop/style/while_until_do.rb +1 -1
  146. data/lib/rubocop/cop/style/word_array.rb +15 -2
  147. data/lib/rubocop/cop/team.rb +25 -5
  148. data/lib/rubocop/cop/util.rb +7 -2
  149. data/lib/rubocop/cop/variable_force/locatable.rb +6 -6
  150. data/lib/rubocop/cop/variable_force.rb +10 -10
  151. data/lib/rubocop/formatter/base_formatter.rb +1 -1
  152. data/lib/rubocop/formatter/disabled_config_formatter.rb +70 -8
  153. data/lib/rubocop/formatter/formatter_set.rb +27 -1
  154. data/lib/rubocop/formatter/progress_formatter.rb +10 -2
  155. data/lib/rubocop/formatter/simple_text_formatter.rb +1 -1
  156. data/lib/rubocop/node_pattern.rb +390 -0
  157. data/lib/rubocop/options.rb +148 -81
  158. data/lib/rubocop/processed_source.rb +7 -2
  159. data/lib/rubocop/rake_task.rb +1 -1
  160. data/lib/rubocop/remote_config.rb +60 -0
  161. data/lib/rubocop/result_cache.rb +123 -0
  162. data/lib/rubocop/runner.rb +85 -22
  163. data/lib/rubocop/target_finder.rb +4 -4
  164. data/lib/rubocop/token.rb +2 -1
  165. data/lib/rubocop/version.rb +1 -1
  166. data/lib/rubocop/warning.rb +11 -0
  167. data/lib/rubocop.rb +32 -3
  168. data/relnotes/v0.32.0.md +139 -0
  169. data/relnotes/v0.32.1.md +122 -0
  170. data/relnotes/v0.33.0.md +157 -0
  171. data/relnotes/v0.34.0.md +182 -0
  172. data/relnotes/v0.34.1.md +129 -0
  173. data/relnotes/v0.34.2.md +139 -0
  174. data/relnotes/v0.35.0.md +210 -0
  175. data/rubocop.gemspec +4 -4
  176. metadata +50 -12
  177. data/lib/rubocop/cop/performance/parallel_assignment.rb +0 -79
@@ -0,0 +1,139 @@
1
+ ### Bug Fixes
2
+
3
+ * [#2232](https://github.com/bbatsov/rubocop/issues/2232): Fix false positive in `Lint/FormatParameterMismatch` for argument with splat operator. ([@dreyks][])
4
+ * [#2237](https://github.com/bbatsov/rubocop/pull/2237): Allow `Lint/FormatParameterMismatch` to be called using `Kernel.format` and `Kernel.sprintf`. ([@rrosenblum][])
5
+ * [#2234](https://github.com/bbatsov/rubocop/issues/2234): Do not register an offense for `Lint/FormatParameterMismatch` when the format string is a variable. ([@rrosenblum][])
6
+ * [#2240](https://github.com/bbatsov/rubocop/pull/2240): `Lint/UnneededDisable` should not report non-`Lint` `rubocop:disable` comments when running `rubocop --lint`. ([@jonas054][])
7
+ * [#2121](https://github.com/bbatsov/rubocop/issues/2121): Allow space before values in hash literals in `Style/ExtraSpacing` to avoid correction conflict. ([@jonas054][])
8
+ * [#2241](https://github.com/bbatsov/rubocop/issues/2241): Read cache in binary format. ([@jonas054][])
9
+ * [#2247](https://github.com/bbatsov/rubocop/issues/2247): Fix auto-correct of `Performance/CaseWhenSplat` for percent arrays (`%w`, `%W`, `%i`, and `%I`). ([@rrosenblum][])
10
+ * [#2244](https://github.com/bbatsov/rubocop/issues/2244): Disregard annotation keywords in `Style/CommentAnnotation` if they don't start a comment. ([@jonas054][])
11
+ * [#2257](https://github.com/bbatsov/rubocop/pull/2257): Fix bug where `Style/RescueEnsureAlignment` will register an offense for `rescue` and `ensure` on the same line. ([@rrosenblum][])
12
+ * [#2255](https://github.com/bbatsov/rubocop/issues/2255): Refine the offense highlighting for `Style/SymbolProc`. ([@bbatsov][])
13
+ * [#2260](https://github.com/bbatsov/rubocop/pull/2260): Make `Exclude` in `.rubocop_todo.yml` work when running from a subdirectory. ([@jonas054][])
14
+
15
+ ### Changes
16
+
17
+ * [#2248](https://github.com/bbatsov/rubocop/issues/2248): Allow block-pass in `Style/AutoResourceCleanup`. ([@lumeet][])
18
+ * [#2258](https://github.com/bbatsov/rubocop/pull/2258): `Style/Documentation` will exclude test directories by default. ([@rrosenblum][])
19
+ * [#2260](https://github.com/bbatsov/rubocop/issues/2260): Disable `Style/StringMethods` by default. ([@bbatsov][])
20
+
21
+ [@bbatsov]: https://github.com/bbatsov
22
+ [@jonas054]: https://github.com/jonas054
23
+ [@yujinakayama]: https://github.com/yujinakayama
24
+ [@dblock]: https://github.com/dblock
25
+ [@nevir]: https://github.com/nevir
26
+ [@daviddavis]: https://github.com/daviddavis
27
+ [@sds]: https://github.com/sds
28
+ [@fancyremarker]: https://github.com/fancyremarker
29
+ [@sinisterchipmunk]: https://github.com/sinisterchipmunk
30
+ [@vonTronje]: https://github.com/vonTronje
31
+ [@agrimm]: https://github.com/agrimm
32
+ [@pmenglund]: https://github.com/pmenglund
33
+ [@chulkilee]: https://github.com/chulkilee
34
+ [@codez]: https://github.com/codez
35
+ [@emou]: https://github.com/emou
36
+ [@skanev]: http://github.com/skanev
37
+ [@claco]: http://github.com/claco
38
+ [@rifraf]: http://github.com/rifraf
39
+ [@scottmatthewman]: https://github.com/scottmatthewman
40
+ [@ma2gedev]: http://github.com/ma2gedev
41
+ [@jeremyolliver]: https://github.com/jeremyolliver
42
+ [@hannestyden]: https://github.com/hannestyden
43
+ [@geniou]: https://github.com/geniou
44
+ [@jkogara]: https://github.com/jkogara
45
+ [@tmorris-fiksu]: https://github.com/tmorris-fiksu
46
+ [@mockdeep]: https://github.com/mockdeep
47
+ [@hiroponz]: https://github.com/hiroponz
48
+ [@tamird]: https://github.com/tamird
49
+ [@fshowalter]: https://github.com/fshowalter
50
+ [@cschramm]: https://github.com/cschramm
51
+ [@bquorning]: https://github.com/bquorning
52
+ [@bcobb]: https://github.com/bcobb
53
+ [@irrationalfab]: https://github.com/irrationalfab
54
+ [@tommeier]: https://github.com/tommeier
55
+ [@sfeldon]: https://github.com/sfeldon
56
+ [@biinari]: https://github.com/biinari
57
+ [@barunio]: https://github.com/barunio
58
+ [@molawson]: https://github.com/molawson
59
+ [@wndhydrnt]: https://github.com/wndhydrnt
60
+ [@ggilder]: https://github.com/ggilder
61
+ [@salbertson]: https://github.com/salbertson
62
+ [@camilleldn]: https://github.com/camilleldn
63
+ [@mcls]: https://github.com/mcls
64
+ [@yous]: https://github.com/yous
65
+ [@vrthra]: https://github.com/vrthra
66
+ [@SkuliOskarsson]: https://github.com/SkuliOskarsson
67
+ [@jspanjers]: https://github.com/jspanjers
68
+ [@sch1zo]: https://github.com/sch1zo
69
+ [@smangelsdorf]: https://github.com/smangelsdorf
70
+ [@mvz]: https://github.com/mvz
71
+ [@jfelchner]: https://github.com/jfelchner
72
+ [@janraasch]: https://github.com/janraasch
73
+ [@jcarbo]: https://github.com/jcarbo
74
+ [@oneamtu]: https://github.com/oneamtu
75
+ [@toy]: https://github.com/toy
76
+ [@Koronen]: https://github.com/Koronen
77
+ [@blainesch]: https://github.com/blainesch
78
+ [@marxarelli]: https://github.com/marxarelli
79
+ [@katieschilling]: https://github.com/katieschilling
80
+ [@kakutani]: https://github.com/kakutani
81
+ [@rrosenblum]: https://github.com/rrosenblum
82
+ [@mattjmcnaughton]: https://github.com/mattjmcnaughton
83
+ [@huerlisi]: https://github.com/huerlisi
84
+ [@volkert]: https://github.com/volkert
85
+ [@lumeet]: https://github.com/lumeet
86
+ [@mmozuras]: https://github.com/mmozuras
87
+ [@d4rk5eed]: https://github.com/d4rk5eed
88
+ [@cshaffer]: https://github.com/cshaffer
89
+ [@eitoball]: https://github.com/eitoball
90
+ [@iainbeeston]: https://github.com/iainbeeston
91
+ [@pimterry]: https://github.com/pimterry
92
+ [@palkan]: https://github.com/palkan
93
+ [@jdoconnor]: https://github.com/jdoconnor
94
+ [@meganemura]: https://github.com/meganemura
95
+ [@zvkemp]: https://github.com/zvkemp
96
+ [@vassilevsky]: https://github.com/vassilevsky
97
+ [@gerry3]: https://github.com/gerry3
98
+ [@ypresto]: https://github.com/ypresto
99
+ [@clowder]: https://github.com/clowder
100
+ [@mudge]: https://github.com/mudge
101
+ [@mzp]: https://github.com/mzp
102
+ [@bankair]: https://github.com/bankair
103
+ [@crimsonknave]: https://github.com/crimsonknave
104
+ [@renuo]: https://github.com/renuo
105
+ [@sdeframond]: https://github.com/sdeframond
106
+ [@til]: https://github.com/til
107
+ [@carhartl]: https://github.com/carhartl
108
+ [@dylandavidson]: https://github.com/dylandavidson
109
+ [@tmr08c]: https://github.com/tmr08c
110
+ [@hbd225]: https://github.com/hbd225
111
+ [@l8nite]: https://github.com/l8nite
112
+ [@sumeet]: https://github.com/sumeet
113
+ [@ojab]: https://github.com/ojab
114
+ [@chastell]: https://github.com/chastell
115
+ [@glasnt]: https://github.com/glasnt
116
+ [@crazydog115]: https://github.com/crazydog115
117
+ [@RGBD]: https://github.com/RGBD
118
+ [@panthomakos]: https://github.com/panthomakos
119
+ [@matugm]: https://github.com/matugm
120
+ [@m1foley]: https://github.com/m1foley
121
+ [@tejasbubane]: https://github.com/tejasbubane
122
+ [@bmorrall]: https://github.com/bmorrall
123
+ [@fphilipe]: https://github.com/fphilipe
124
+ [@gotrevor]: https://github.com/gotrevor
125
+ [@awwaiid]: https://github.com/awwaiid
126
+ [@segiddins]: https://github.com/segiddins
127
+ [@urbanautomaton]: https://github.com/urbanautomaton.com
128
+ [@unmanbearpig]: https://github.com/unmanbearpig
129
+ [@maxjacobson]: https://github.com/maxjacobson
130
+ [@sliuu]: https://github.com/sliuu
131
+ [@edmz]: https://github.com/edmz
132
+ [@syndbg]: https://github.com/syndbg
133
+ [@wli]: https://github.com/wli
134
+ [@caseywebdev]: https://github.com/caseywebdev
135
+ [@MGerrior]: https://github.com/MGerrior
136
+ [@imtayadeway]: https://github.com/imtayadeway
137
+ [@mrfoto]: https://github.com/mrfoto
138
+ [@karreiro]: https://github.com/karreiro
139
+ [@dreyks]: https://github.com/dreyks
@@ -0,0 +1,210 @@
1
+ Special thanks to [Alex Dowad](https://github.com/alexdowad) who
2
+ contributed an amazing number of bug fixes and improvements for this
3
+ release! Much appreciated!
4
+
5
+ And happy birthday to my beloved granny Vasilka, who turns today 78 years!
6
+ This release is dedicated to her!
7
+
8
+ ### New features
9
+
10
+ * [#2028](https://github.com/bbatsov/rubocop/issues/2028): New config `ExtraDetails` supports addition of `Details` param to all cops to allow extra details on offense to be displayed. ([@tansaku][])
11
+ * [#2036](https://github.com/bbatsov/rubocop/issues/2036): New cop `Style/StabbyLambdaParentheses` will find and correct cases where a stabby lambda's paramaters are not wrapped in parentheses. ([@hmadison][])
12
+ * [#2246](https://github.com/bbatsov/rubocop/pull/2246): `Style/TrailingUnderscoreVariable` will now register an offense for `*_`. ([@rrosenblum][])
13
+ * [#2246](https://github.com/bbatsov/rubocop/pull/2246): `Style/TrailingUnderscoreVariable` now has a configuration to remove named underscore variables (Defaulted to false). ([@rrosenblum][])
14
+ * [#2276](https://github.com/bbatsov/rubocop/pull/2276): New cop `Performance/FixedSize` will register an offense when calling `length`, `size`, or `count` on statically sized objected (strings, symbols, arrays, and hashes). ([@rrosenblum][])
15
+ * New cop `Style/NestedModifier` checks for nested `if`, `unless`, `while` and `until` modifier statements. ([@lumeet][])
16
+ * [#2270](https://github.com/bbatsov/rubocop/pull/2270): Add a new `inherit_gem` configuration to inherit a config file from an installed gem [(originally requested in #290)](https://github.com/bbatsov/rubocop/issues/290). ([@jhansche][])
17
+ * Allow `StyleGuide` parameters in local configuration for all cops, so users can add references to custom style guide documents. ([@cornelius][])
18
+ * `UnusedMethodArgument` cop allows configuration to skip keyword arguments. ([@apiology][])
19
+ * [#2318](https://github.com/bbatsov/rubocop/pull/2318): `Lint/Debugger` cop now checks for `Pry.rescue`. ([@rrosenblum][])
20
+ * [#2277](https://github.com/bbatsov/rubocop/pull/2277): New cop `Style/FirstArrayElementLineBreak` checks for a line break before the first element in a multi-line array. ([@panthomakos][])
21
+ * [#2277](https://github.com/bbatsov/rubocop/pull/2277): New cop `Style/FirstHashElementLineBreak` checks for a line break before the first element in a multi-line hash. ([@panthomakos][])
22
+ * [#2277](https://github.com/bbatsov/rubocop/pull/2277): New cop `Style/FirstMethodArgumentLineBreak` checks for a line break before the first argument in a multi-line method call. ([@panthomakos][])
23
+ * [#2277](https://github.com/bbatsov/rubocop/pull/2277): New cop `Style/FirstMethodParameterLineBreak` checks for a line break before the first parameter in a multi-line method parameter definition. ([@panthomakos][])
24
+ * Add `Rails/PluralizationGrammar` cop, checks for incorrect grammar when using methods like `3.day.ago`, when you should write `3.days.ago`. ([@maxjacobson][])
25
+ * [#2347](https://github.com/bbatsov/rubocop/pull/2347): `Lint/Eval` cop does not warn about "security risk" when eval argument is a string literal without interpolations. ([@alexdowad][])
26
+ * [#2335](https://github.com/bbatsov/rubocop/issues/2335): `Style/VariableName` cop checks naming style of method parameters. ([@alexdowad][])
27
+ * [#2329](https://github.com/bbatsov/rubocop/pull/2329): New style `braces_for_chaining` for `Style/BlockDelimiters` cop enforces braces on a multi-line block if its return value is being chained with another method. ([@panthomakos][])
28
+ * `Lint/LiteralInCondition` warns if a symbol or dynamic symbol is used as a condition. ([@alexdowad][])
29
+ * [#2369](https://github.com/bbatsov/rubocop/issues/2369): `Style/TrailingComma` doesn't add a trailing comma to a multiline method chain which is the only arg to a method call. ([@alexdowad][])
30
+ * `CircularArgumentReference` cop updated to lint for ordinal circular argument references on top of optional keyword arguments. ([@maxjacobson][])
31
+ * Added ability to download shared rubocop config files from remote urls. ([@ptrippett][])
32
+ * [#1601](https://github.com/bbatsov/rubocop/issues/1601): Add `IgnoreEmptyMethods` config parameter for `Lint/UnusedMethodArgument` and `IgnoreEmptyBlocks` config parameter for `Lint/UnusedBlockArgument` cops. ([@alexdowad][])
33
+ * [#1729](https://github.com/bbatsov/rubocop/issues/1729): `Style/MethodDefParentheses` supports new 'require_no_parentheses_except_multiline' style. ([@alexdowad][])
34
+ * [#2173](https://github.com/bbatsov/rubocop/issues/2173): `Style/AlignParameters` also checks parameter alignment for method definitions. ([@alexdowad][])
35
+ * [#1825](https://github.com/bbatsov/rubocop/issues/1825): New `NameWhitelist` configuration parameter for `Style/PredicateName` can be used to suppress errors on known-good predicate names. ([@alexdowad][])
36
+ * `Style/Documentation` recognizes 'Constant = Class.new' as a class definition. ([@alexdowad][])
37
+ * [#1608](https://github.com/bbatsov/rubocop/issues/1608): Add new 'align_braces' style for `Style/IndentHash`. ([@alexdowad][])
38
+ * `Style/Next` can autocorrect. ([@alexdowad][])
39
+
40
+ ### Bug Fixes
41
+
42
+ * [#2265](https://github.com/bbatsov/rubocop/issues/2265): Handle unary `+` in `ExtraSpacing` cop. ([@jonas054][])
43
+ * [#2275](https://github.com/bbatsov/rubocop/pull/2275): Copy default `Exclude` into `Exclude` lists in `.rubocop_todo.yml`. ([@jonas054][])
44
+ * `Style/IfUnlessModifier` accepts blocks followed by a chained call. ([@lumeet][])
45
+ * [#2261](https://github.com/bbatsov/rubocop/issues/2261): Make relative `Exclude` paths in `$HOME/.rubocop_todo.yml` be relative to current directory. ([@jonas054][])
46
+ * [#2286](https://github.com/bbatsov/rubocop/issues/2286): Handle auto-correction of empty method when `AllowIfMethodIsEmpty` is `false` in `Style/SingleLineMethods`. ([@jonas054][])
47
+ * [#2246](https://github.com/bbatsov/rubocop/pull/2246): Do not register an offense for `Style/TrailingUnderscoreVariable` when the underscore variable is preceeded by a splat variable. ([@rrosenblum][])
48
+ * [#2292](https://github.com/bbatsov/rubocop/pull/2292): Results should not be stored in the cache if affected by errors (crashes). ([@jonas054][])
49
+ * [#2280](https://github.com/bbatsov/rubocop/issues/2280): Avoid reporting space between hash literal keys and values in `Style/ExtraSpacing`. ([@jonas054][])
50
+ * [#2284](https://github.com/bbatsov/rubocop/issues/2284): Fix result cache being shared between ruby versions. ([@miquella][])
51
+ * [#2285](https://github.com/bbatsov/rubocop/issues/2285): Fix `ConfigurableNaming#class_emitter_method?` error when handling singleton class methods. ([@palkan][])
52
+ * [#2295](https://github.com/bbatsov/rubocop/issues/2295): Fix Performance/Detect autocorrect to handle rogue newlines. ([@palkan][])
53
+ * [#2294](https://github.com/bbatsov/rubocop/issues/2294): Do not register an offense in `Performance/StringReplacement` for regex with options. ([@rrosenblum][])
54
+ * Fix `Style/UnneededPercentQ` condition for single-quoted literal containing interpolation-like string. ([@eagletmt][])
55
+ * [#2324](https://github.com/bbatsov/rubocop/issues/2324): Handle `--only Lint/Syntax` and `--except Lint/Syntax` correctly. ([@jonas054][])
56
+ * [#2317](https://github.com/bbatsov/rubocop/issues/2317): Handle `case` as an argument correctly in `Lint/EndAlignment`. ([@lumeet][])
57
+ * [#2287](https://github.com/bbatsov/rubocop/issues/2287): Fix auto-correct of lines with only whitespace in `Style/IndentationWidth`. ([@lumeet][])
58
+ * [#2331](https://github.com/bbatsov/rubocop/issues/2331): Do not register an offense in `Performance/Size` for `count` with an argument. ([@rrosenblum][])
59
+ * Handle a backslash at the end of a line in `Style/SpaceAroundOperators`. ([@lumeet][])
60
+ * Don't warn about lack of "leading space" in a =begin/=end comment. ([@alexdowad][])
61
+ * [#2307](https://github.com/bbatsov/rubocop/issues/2307): In `Lint/FormatParameterMismatch`, don't register an offense if either argument to % is not a literal. ([@alexdowad][])
62
+ * [#2356](https://github.com/bbatsov/rubocop/pull/2356): `Style/Encoding` will now place the encoding comment on the second line if the first line is a shebang. ([@rrosenblum][])
63
+ * `Style/InitialIndentation` cop doesn't error out when a line begins with an integer literal. ([@alexdowad][])
64
+ * [#2296](https://github.com/bbatsov/rubocop/issues/2296): In `Style/DotPosition`, don't "correct" (and break) a method call which has a line comment (or blank line) between the dot and the selector. ([@alexdowad][])
65
+ * [#2272](https://github.com/bbatsov/rubocop/issues/2272): `Lint/NonLocalExitFromIterator` does not warn about `return` in a block which is passed to `Module#define_method`. ([@alexdowad][])
66
+ * [#2262](https://github.com/bbatsov/rubocop/issues/2262): Replace `Rainbow` reference with `Colorizable#yellow`. ([@minustehbare][])
67
+ * [#2068](https://github.com/bbatsov/rubocop/issues/2068): Display warning if `Style/Copyright` is misconfigured. ([@alexdowad][])
68
+ * [#2321](https://github.com/bbatsov/rubocop/issues/2321): In `Style/EachWithObject`, don't replace reduce with each_with_object if the accumulator parameter is assigned to in the block. ([@alexdowad][])
69
+ * [#1981](https://github.com/bbatsov/rubocop/issues/1981): `Lint/UselessAssignment` doesn't erroneously identify assignments in identical if branches as useless. ([@alexdowad][])
70
+ * [#2323](https://github.com/bbatsov/rubocop/issues/2323): `Style/IfUnlessModifier` cop parenthesizes autocorrected code when necessary due to operator precedence, to avoid changing its meaning. ([@alexdowad][])
71
+ * [#2003](https://github.com/bbatsov/rubocop/issues/2003): Make `Lint/UnneededDisable` work with `--auto-correct`. ([@jonas054][])
72
+ * Default RuboCop cache dir moved to per-user folders. ([@br3nda][])
73
+ * [#2393](https://github.com/bbatsov/rubocop/pull/2393): `Style/MethodCallParentheses` doesn't fail on `obj.method ||= func()`. ([@alexdowad][])
74
+ * [#2344](https://github.com/bbatsov/rubocop/pull/2344): When autocorrecting, `Style/ParallelAssignment` reorders assignment statements, if necessary, to avoid breaking code. ([@alexdowad][])
75
+ * `Style/MultilineOperationAlignment` does not try to align the receiver and selector of a method call if both are on the LHS of an assignment. ([@alexdowad][])
76
+
77
+ ### Changes
78
+
79
+ * [#2194](https://github.com/bbatsov/rubocop/issues/2194): Allow any options with `--auto-gen-config`. ([@agrimm][])
80
+
81
+ [@bbatsov]: https://github.com/bbatsov
82
+ [@jonas054]: https://github.com/jonas054
83
+ [@yujinakayama]: https://github.com/yujinakayama
84
+ [@dblock]: https://github.com/dblock
85
+ [@nevir]: https://github.com/nevir
86
+ [@daviddavis]: https://github.com/daviddavis
87
+ [@sds]: https://github.com/sds
88
+ [@fancyremarker]: https://github.com/fancyremarker
89
+ [@sinisterchipmunk]: https://github.com/sinisterchipmunk
90
+ [@vonTronje]: https://github.com/vonTronje
91
+ [@agrimm]: https://github.com/agrimm
92
+ [@pmenglund]: https://github.com/pmenglund
93
+ [@chulkilee]: https://github.com/chulkilee
94
+ [@codez]: https://github.com/codez
95
+ [@emou]: https://github.com/emou
96
+ [@skanev]: http://github.com/skanev
97
+ [@claco]: http://github.com/claco
98
+ [@rifraf]: http://github.com/rifraf
99
+ [@scottmatthewman]: https://github.com/scottmatthewman
100
+ [@ma2gedev]: http://github.com/ma2gedev
101
+ [@jeremyolliver]: https://github.com/jeremyolliver
102
+ [@hannestyden]: https://github.com/hannestyden
103
+ [@geniou]: https://github.com/geniou
104
+ [@jkogara]: https://github.com/jkogara
105
+ [@tmorris-fiksu]: https://github.com/tmorris-fiksu
106
+ [@mockdeep]: https://github.com/mockdeep
107
+ [@hiroponz]: https://github.com/hiroponz
108
+ [@tamird]: https://github.com/tamird
109
+ [@fshowalter]: https://github.com/fshowalter
110
+ [@cschramm]: https://github.com/cschramm
111
+ [@bquorning]: https://github.com/bquorning
112
+ [@bcobb]: https://github.com/bcobb
113
+ [@irrationalfab]: https://github.com/irrationalfab
114
+ [@tommeier]: https://github.com/tommeier
115
+ [@sfeldon]: https://github.com/sfeldon
116
+ [@biinari]: https://github.com/biinari
117
+ [@barunio]: https://github.com/barunio
118
+ [@molawson]: https://github.com/molawson
119
+ [@wndhydrnt]: https://github.com/wndhydrnt
120
+ [@ggilder]: https://github.com/ggilder
121
+ [@salbertson]: https://github.com/salbertson
122
+ [@camilleldn]: https://github.com/camilleldn
123
+ [@mcls]: https://github.com/mcls
124
+ [@yous]: https://github.com/yous
125
+ [@vrthra]: https://github.com/vrthra
126
+ [@SkuliOskarsson]: https://github.com/SkuliOskarsson
127
+ [@jspanjers]: https://github.com/jspanjers
128
+ [@sch1zo]: https://github.com/sch1zo
129
+ [@smangelsdorf]: https://github.com/smangelsdorf
130
+ [@mvz]: https://github.com/mvz
131
+ [@jfelchner]: https://github.com/jfelchner
132
+ [@janraasch]: https://github.com/janraasch
133
+ [@jcarbo]: https://github.com/jcarbo
134
+ [@oneamtu]: https://github.com/oneamtu
135
+ [@toy]: https://github.com/toy
136
+ [@Koronen]: https://github.com/Koronen
137
+ [@blainesch]: https://github.com/blainesch
138
+ [@marxarelli]: https://github.com/marxarelli
139
+ [@katieschilling]: https://github.com/katieschilling
140
+ [@kakutani]: https://github.com/kakutani
141
+ [@rrosenblum]: https://github.com/rrosenblum
142
+ [@mattjmcnaughton]: https://github.com/mattjmcnaughton
143
+ [@huerlisi]: https://github.com/huerlisi
144
+ [@volkert]: https://github.com/volkert
145
+ [@lumeet]: https://github.com/lumeet
146
+ [@mmozuras]: https://github.com/mmozuras
147
+ [@d4rk5eed]: https://github.com/d4rk5eed
148
+ [@cshaffer]: https://github.com/cshaffer
149
+ [@eitoball]: https://github.com/eitoball
150
+ [@iainbeeston]: https://github.com/iainbeeston
151
+ [@pimterry]: https://github.com/pimterry
152
+ [@palkan]: https://github.com/palkan
153
+ [@jdoconnor]: https://github.com/jdoconnor
154
+ [@meganemura]: https://github.com/meganemura
155
+ [@zvkemp]: https://github.com/zvkemp
156
+ [@vassilevsky]: https://github.com/vassilevsky
157
+ [@gerry3]: https://github.com/gerry3
158
+ [@ypresto]: https://github.com/ypresto
159
+ [@clowder]: https://github.com/clowder
160
+ [@mudge]: https://github.com/mudge
161
+ [@mzp]: https://github.com/mzp
162
+ [@bankair]: https://github.com/bankair
163
+ [@crimsonknave]: https://github.com/crimsonknave
164
+ [@renuo]: https://github.com/renuo
165
+ [@sdeframond]: https://github.com/sdeframond
166
+ [@til]: https://github.com/til
167
+ [@carhartl]: https://github.com/carhartl
168
+ [@dylandavidson]: https://github.com/dylandavidson
169
+ [@tmr08c]: https://github.com/tmr08c
170
+ [@hbd225]: https://github.com/hbd225
171
+ [@l8nite]: https://github.com/l8nite
172
+ [@sumeet]: https://github.com/sumeet
173
+ [@ojab]: https://github.com/ojab
174
+ [@chastell]: https://github.com/chastell
175
+ [@glasnt]: https://github.com/glasnt
176
+ [@crazydog115]: https://github.com/crazydog115
177
+ [@RGBD]: https://github.com/RGBD
178
+ [@panthomakos]: https://github.com/panthomakos
179
+ [@matugm]: https://github.com/matugm
180
+ [@m1foley]: https://github.com/m1foley
181
+ [@tejasbubane]: https://github.com/tejasbubane
182
+ [@bmorrall]: https://github.com/bmorrall
183
+ [@fphilipe]: https://github.com/fphilipe
184
+ [@gotrevor]: https://github.com/gotrevor
185
+ [@awwaiid]: https://github.com/awwaiid
186
+ [@segiddins]: https://github.com/segiddins
187
+ [@urbanautomaton]: https://github.com/urbanautomaton.com
188
+ [@unmanbearpig]: https://github.com/unmanbearpig
189
+ [@maxjacobson]: https://github.com/maxjacobson
190
+ [@sliuu]: https://github.com/sliuu
191
+ [@edmz]: https://github.com/edmz
192
+ [@syndbg]: https://github.com/syndbg
193
+ [@wli]: https://github.com/wli
194
+ [@caseywebdev]: https://github.com/caseywebdev
195
+ [@MGerrior]: https://github.com/MGerrior
196
+ [@imtayadeway]: https://github.com/imtayadeway
197
+ [@mrfoto]: https://github.com/mrfoto
198
+ [@karreiro]: https://github.com/karreiro
199
+ [@dreyks]: https://github.com/dreyks
200
+ [@hmadison]: https://github.com/hmadison
201
+ [@miquella]: https://github.com/miquella
202
+ [@jhansche]: https://github.com/jhansche
203
+ [@cornelius]: https://github.com/cornelius
204
+ [@eagletmt]: https://github.com/eagletmt
205
+ [@apiology]: https://github.com/apiology
206
+ [@alexdowad]: https://github.com/alexdowad
207
+ [@minustehbare]: https://github.com/minustehbare
208
+ [@tansaku]: https://github.com/tansaku
209
+ [@ptrippett]: https://github.com/ptrippett
210
+ [@br3nda]: https://github.com/br3nda
data/rubocop.gemspec CHANGED
@@ -39,13 +39,13 @@ Gem::Specification.new do |s|
39
39
  s.summary = 'Automatic Ruby code style checking tool.'
40
40
 
41
41
  s.add_runtime_dependency('rainbow', '>= 1.99.1', '< 3.0')
42
- s.add_runtime_dependency('parser', '>= 2.2.2.1', '< 3.0')
42
+ s.add_runtime_dependency('parser', '>= 2.2.3.0', '< 3.0')
43
43
  s.add_runtime_dependency('powerpack', '~> 0.1')
44
44
  s.add_runtime_dependency('astrolabe', '~> 1.3')
45
- s.add_runtime_dependency('ruby-progressbar', '~> 1.4')
45
+ s.add_runtime_dependency('ruby-progressbar', '~> 1.7')
46
46
  s.add_development_dependency('rake', '~> 10.1')
47
- s.add_development_dependency('rspec', '~> 3.1.0')
47
+ s.add_development_dependency('rspec', '~> 3.3.0')
48
48
  s.add_development_dependency('yard', '~> 0.8')
49
49
  s.add_development_dependency('bundler', '~> 1.3')
50
- s.add_development_dependency('simplecov', '~> 0.7')
50
+ s.add_development_dependency('simplecov', '~> 0.10')
51
51
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.31.0
4
+ version: 0.35.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bozhidar Batsov
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2015-05-05 00:00:00.000000000 Z
13
+ date: 2015-11-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rainbow
@@ -38,7 +38,7 @@ dependencies:
38
38
  requirements:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: 2.2.2.1
41
+ version: 2.2.3.0
42
42
  - - "<"
43
43
  - !ruby/object:Gem::Version
44
44
  version: '3.0'
@@ -48,7 +48,7 @@ dependencies:
48
48
  requirements:
49
49
  - - ">="
50
50
  - !ruby/object:Gem::Version
51
- version: 2.2.2.1
51
+ version: 2.2.3.0
52
52
  - - "<"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.4'
89
+ version: '1.7'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.4'
96
+ version: '1.7'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rake
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 3.1.0
117
+ version: 3.3.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 3.1.0
124
+ version: 3.3.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: yard
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -156,14 +156,14 @@ dependencies:
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '0.7'
159
+ version: '0.10'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: '0.7'
166
+ version: '0.10'
167
167
  description: |2
168
168
  Automatic Ruby code style checking tool.
169
169
  Aims to enforce the community-driven Ruby Style Guide.
@@ -187,6 +187,7 @@ files:
187
187
  - config/disabled.yml
188
188
  - config/enabled.yml
189
189
  - lib/rubocop.rb
190
+ - lib/rubocop/ast_node.rb
190
191
  - lib/rubocop/cli.rb
191
192
  - lib/rubocop/comment_config.rb
192
193
  - lib/rubocop/config.rb
@@ -202,11 +203,13 @@ files:
202
203
  - lib/rubocop/cop/lint/ambiguous_regexp_literal.rb
203
204
  - lib/rubocop/cop/lint/assignment_in_condition.rb
204
205
  - lib/rubocop/cop/lint/block_alignment.rb
206
+ - lib/rubocop/cop/lint/circular_argument_reference.rb
205
207
  - lib/rubocop/cop/lint/condition_position.rb
206
208
  - lib/rubocop/cop/lint/debugger.rb
207
209
  - lib/rubocop/cop/lint/def_end_alignment.rb
208
210
  - lib/rubocop/cop/lint/deprecated_class_methods.rb
209
211
  - lib/rubocop/cop/lint/duplicate_methods.rb
212
+ - lib/rubocop/cop/lint/duplicated_key.rb
210
213
  - lib/rubocop/cop/lint/each_with_object_argument.rb
211
214
  - lib/rubocop/cop/lint/else_layout.rb
212
215
  - lib/rubocop/cop/lint/empty_ensure.rb
@@ -215,11 +218,13 @@ files:
215
218
  - lib/rubocop/cop/lint/end_in_method.rb
216
219
  - lib/rubocop/cop/lint/ensure_return.rb
217
220
  - lib/rubocop/cop/lint/eval.rb
221
+ - lib/rubocop/cop/lint/format_parameter_mismatch.rb
218
222
  - lib/rubocop/cop/lint/handle_exceptions.rb
219
223
  - lib/rubocop/cop/lint/invalid_character_literal.rb
220
224
  - lib/rubocop/cop/lint/literal_in_condition.rb
221
225
  - lib/rubocop/cop/lint/literal_in_interpolation.rb
222
226
  - lib/rubocop/cop/lint/loop.rb
227
+ - lib/rubocop/cop/lint/nested_method_definition.rb
223
228
  - lib/rubocop/cop/lint/non_local_exit_from_iterator.rb
224
229
  - lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb
225
230
  - lib/rubocop/cop/lint/require_parentheses.rb
@@ -229,6 +234,7 @@ files:
229
234
  - lib/rubocop/cop/lint/string_conversion_in_interpolation.rb
230
235
  - lib/rubocop/cop/lint/syntax.rb
231
236
  - lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb
237
+ - lib/rubocop/cop/lint/unneeded_disable.rb
232
238
  - lib/rubocop/cop/lint/unreachable_code.rb
233
239
  - lib/rubocop/cop/lint/unused_block_argument.rb
234
240
  - lib/rubocop/cop/lint/unused_method_argument.rb
@@ -260,8 +266,10 @@ files:
260
266
  - lib/rubocop/cop/mixin/configurable_naming.rb
261
267
  - lib/rubocop/cop/mixin/empty_lines_around_body.rb
262
268
  - lib/rubocop/cop/mixin/end_keyword_alignment.rb
269
+ - lib/rubocop/cop/mixin/first_element_line_break.rb
263
270
  - lib/rubocop/cop/mixin/if_node.rb
264
271
  - lib/rubocop/cop/mixin/method_complexity.rb
272
+ - lib/rubocop/cop/mixin/method_preference.rb
265
273
  - lib/rubocop/cop/mixin/min_body_length.rb
266
274
  - lib/rubocop/cop/mixin/negative_conditional.rb
267
275
  - lib/rubocop/cop/mixin/on_method_def.rb
@@ -278,13 +286,15 @@ files:
278
286
  - lib/rubocop/cop/mixin/surrounding_space.rb
279
287
  - lib/rubocop/cop/mixin/unused_argument.rb
280
288
  - lib/rubocop/cop/offense.rb
289
+ - lib/rubocop/cop/performance/case_when_splat.rb
281
290
  - lib/rubocop/cop/performance/count.rb
282
291
  - lib/rubocop/cop/performance/detect.rb
292
+ - lib/rubocop/cop/performance/fixed_size.rb
283
293
  - lib/rubocop/cop/performance/flat_map.rb
284
- - lib/rubocop/cop/performance/parallel_assignment.rb
285
294
  - lib/rubocop/cop/performance/reverse_each.rb
286
295
  - lib/rubocop/cop/performance/sample.rb
287
296
  - lib/rubocop/cop/performance/size.rb
297
+ - lib/rubocop/cop/performance/string_replacement.rb
288
298
  - lib/rubocop/cop/rails/action_filter.rb
289
299
  - lib/rubocop/cop/rails/date.rb
290
300
  - lib/rubocop/cop/rails/default_scope.rb
@@ -293,6 +303,7 @@ files:
293
303
  - lib/rubocop/cop/rails/find_each.rb
294
304
  - lib/rubocop/cop/rails/has_and_belongs_to_many.rb
295
305
  - lib/rubocop/cop/rails/output.rb
306
+ - lib/rubocop/cop/rails/pluralization_grammar.rb
296
307
  - lib/rubocop/cop/rails/read_write_attribute.rb
297
308
  - lib/rubocop/cop/rails/scope_args.rb
298
309
  - lib/rubocop/cop/rails/time_zone.rb
@@ -354,6 +365,10 @@ files:
354
365
  - lib/rubocop/cop/style/even_odd.rb
355
366
  - lib/rubocop/cop/style/extra_spacing.rb
356
367
  - lib/rubocop/cop/style/file_name.rb
368
+ - lib/rubocop/cop/style/first_array_element_line_break.rb
369
+ - lib/rubocop/cop/style/first_hash_element_line_break.rb
370
+ - lib/rubocop/cop/style/first_method_argument_line_break.rb
371
+ - lib/rubocop/cop/style/first_method_parameter_line_break.rb
357
372
  - lib/rubocop/cop/style/first_parameter_indentation.rb
358
373
  - lib/rubocop/cop/style/flip_flop.rb
359
374
  - lib/rubocop/cop/style/for.rb
@@ -368,6 +383,7 @@ files:
368
383
  - lib/rubocop/cop/style/indentation_consistency.rb
369
384
  - lib/rubocop/cop/style/indentation_width.rb
370
385
  - lib/rubocop/cop/style/infinite_loop.rb
386
+ - lib/rubocop/cop/style/initial_indentation.rb
371
387
  - lib/rubocop/cop/style/inline_comment.rb
372
388
  - lib/rubocop/cop/style/lambda.rb
373
389
  - lib/rubocop/cop/style/lambda_call.rb
@@ -384,8 +400,10 @@ files:
384
400
  - lib/rubocop/cop/style/multiline_if_then.rb
385
401
  - lib/rubocop/cop/style/multiline_operation_indentation.rb
386
402
  - lib/rubocop/cop/style/multiline_ternary_operator.rb
403
+ - lib/rubocop/cop/style/mutable_constant.rb
387
404
  - lib/rubocop/cop/style/negated_if.rb
388
405
  - lib/rubocop/cop/style/negated_while.rb
406
+ - lib/rubocop/cop/style/nested_modifier.rb
389
407
  - lib/rubocop/cop/style/nested_ternary_operator.rb
390
408
  - lib/rubocop/cop/style/next.rb
391
409
  - lib/rubocop/cop/style/nil_comparison.rb
@@ -394,6 +412,9 @@ files:
394
412
  - lib/rubocop/cop/style/numeric_literals.rb
395
413
  - lib/rubocop/cop/style/one_line_conditional.rb
396
414
  - lib/rubocop/cop/style/op_method.rb
415
+ - lib/rubocop/cop/style/option_hash.rb
416
+ - lib/rubocop/cop/style/optional_arguments.rb
417
+ - lib/rubocop/cop/style/parallel_assignment.rb
397
418
  - lib/rubocop/cop/style/parentheses_around_condition.rb
398
419
  - lib/rubocop/cop/style/percent_literal_delimiters.rb
399
420
  - lib/rubocop/cop/style/percent_q_literals.rb
@@ -403,12 +424,15 @@ files:
403
424
  - lib/rubocop/cop/style/raise_args.rb
404
425
  - lib/rubocop/cop/style/redundant_begin.rb
405
426
  - lib/rubocop/cop/style/redundant_exception.rb
427
+ - lib/rubocop/cop/style/redundant_freeze.rb
406
428
  - lib/rubocop/cop/style/redundant_return.rb
407
429
  - lib/rubocop/cop/style/redundant_self.rb
408
430
  - lib/rubocop/cop/style/regexp_literal.rb
431
+ - lib/rubocop/cop/style/rescue_ensure_alignment.rb
409
432
  - lib/rubocop/cop/style/rescue_modifier.rb
410
433
  - lib/rubocop/cop/style/self_assignment.rb
411
434
  - lib/rubocop/cop/style/semicolon.rb
435
+ - lib/rubocop/cop/style/send.rb
412
436
  - lib/rubocop/cop/style/signal_exception.rb
413
437
  - lib/rubocop/cop/style/single_line_block_params.rb
414
438
  - lib/rubocop/cop/style/single_line_methods.rb
@@ -432,9 +456,12 @@ files:
432
456
  - lib/rubocop/cop/style/space_inside_hash_literal_braces.rb
433
457
  - lib/rubocop/cop/style/space_inside_parens.rb
434
458
  - lib/rubocop/cop/style/space_inside_range_literal.rb
459
+ - lib/rubocop/cop/style/space_inside_string_interpolation.rb
435
460
  - lib/rubocop/cop/style/special_global_vars.rb
461
+ - lib/rubocop/cop/style/stabby_lambda_parentheses.rb
436
462
  - lib/rubocop/cop/style/string_literals.rb
437
463
  - lib/rubocop/cop/style/string_literals_in_interpolation.rb
464
+ - lib/rubocop/cop/style/string_methods.rb
438
465
  - lib/rubocop/cop/style/struct_inheritance.rb
439
466
  - lib/rubocop/cop/style/symbol_array.rb
440
467
  - lib/rubocop/cop/style/symbol_literal.rb
@@ -478,15 +505,19 @@ files:
478
505
  - lib/rubocop/formatter/progress_formatter.rb
479
506
  - lib/rubocop/formatter/simple_text_formatter.rb
480
507
  - lib/rubocop/formatter/text_util.rb
508
+ - lib/rubocop/node_pattern.rb
481
509
  - lib/rubocop/options.rb
482
510
  - lib/rubocop/path_util.rb
483
511
  - lib/rubocop/processed_source.rb
484
512
  - lib/rubocop/rake_task.rb
513
+ - lib/rubocop/remote_config.rb
514
+ - lib/rubocop/result_cache.rb
485
515
  - lib/rubocop/runner.rb
486
516
  - lib/rubocop/string_util.rb
487
517
  - lib/rubocop/target_finder.rb
488
518
  - lib/rubocop/token.rb
489
519
  - lib/rubocop/version.rb
520
+ - lib/rubocop/warning.rb
490
521
  - logo/rubo-logo-horizontal.png
491
522
  - logo/rubo-logo-square.png
492
523
  - logo/rubo-logo-symbol.png
@@ -510,6 +541,13 @@ files:
510
541
  - relnotes/v0.30.0.md
511
542
  - relnotes/v0.30.1.md
512
543
  - relnotes/v0.31.0.md
544
+ - relnotes/v0.32.0.md
545
+ - relnotes/v0.32.1.md
546
+ - relnotes/v0.33.0.md
547
+ - relnotes/v0.34.0.md
548
+ - relnotes/v0.34.1.md
549
+ - relnotes/v0.34.2.md
550
+ - relnotes/v0.35.0.md
513
551
  - rubocop.gemspec
514
552
  homepage: http://github.com/bbatsov/rubocop
515
553
  licenses:
@@ -531,7 +569,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
531
569
  version: '0'
532
570
  requirements: []
533
571
  rubyforge_project:
534
- rubygems_version: 2.2.2
572
+ rubygems_version: 2.4.5
535
573
  signing_key:
536
574
  specification_version: 4
537
575
  summary: Automatic Ruby code style checking tool.