rubocop 0.56.0 → 0.57.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -4
  3. data/assets/output.html.erb +1 -1
  4. data/bin/console +9 -0
  5. data/config/default.yml +23 -3
  6. data/config/disabled.yml +2 -2
  7. data/config/enabled.yml +29 -13
  8. data/{bin → exe}/rubocop +0 -0
  9. data/lib/rubocop.rb +6 -2
  10. data/lib/rubocop/ast/node.rb +3 -1
  11. data/lib/rubocop/ast/node/mixin/method_dispatch_node.rb +26 -5
  12. data/lib/rubocop/config_loader.rb +0 -1
  13. data/lib/rubocop/config_loader_resolver.rb +4 -2
  14. data/lib/rubocop/cop/correctors/alignment_corrector.rb +1 -1
  15. data/lib/rubocop/cop/generator.rb +1 -1
  16. data/lib/rubocop/cop/layout/class_structure.rb +1 -1
  17. data/lib/rubocop/cop/layout/closing_heredoc_indentation.rb +130 -0
  18. data/lib/rubocop/cop/layout/dot_position.rb +2 -6
  19. data/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +1 -1
  20. data/lib/rubocop/cop/layout/empty_lines_around_begin_body.rb +0 -1
  21. data/lib/rubocop/cop/layout/extra_spacing.rb +2 -2
  22. data/lib/rubocop/cop/layout/indent_heredoc.rb +29 -5
  23. data/lib/rubocop/cop/layout/indentation_consistency.rb +1 -1
  24. data/lib/rubocop/cop/layout/indentation_width.rb +2 -2
  25. data/lib/rubocop/cop/layout/leading_blank_lines.rb +53 -0
  26. data/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +11 -2
  27. data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +1 -1
  28. data/lib/rubocop/cop/lint/string_conversion_in_interpolation.rb +4 -3
  29. data/lib/rubocop/cop/lint/useless_access_modifier.rb +2 -2
  30. data/lib/rubocop/cop/mixin/array_syntax.rb +1 -1
  31. data/lib/rubocop/cop/mixin/range_help.rb +3 -7
  32. data/lib/rubocop/cop/rails/assert_not.rb +1 -1
  33. data/lib/rubocop/cop/rails/bulk_change_table.rb +272 -0
  34. data/lib/rubocop/cop/rails/dynamic_find_by.rb +1 -1
  35. data/lib/rubocop/cop/rails/file_path.rb +40 -10
  36. data/lib/rubocop/cop/rails/http_positional_arguments.rb +1 -1
  37. data/lib/rubocop/cop/rails/time_zone.rb +3 -3
  38. data/lib/rubocop/cop/style/access_modifier_declarations.rb +111 -0
  39. data/lib/rubocop/cop/style/bare_percent_literals.rb +1 -1
  40. data/lib/rubocop/cop/style/command_literal.rb +1 -5
  41. data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +30 -7
  42. data/lib/rubocop/cop/style/mixin_grouping.rb +8 -3
  43. data/lib/rubocop/cop/style/next.rb +1 -1
  44. data/lib/rubocop/cop/style/numeric_literal_prefix.rb +26 -3
  45. data/lib/rubocop/cop/style/symbol_proc.rb +1 -1
  46. data/lib/rubocop/cop/style/unneeded_condition.rb +73 -0
  47. data/lib/rubocop/cop/style/unneeded_percent_q.rb +13 -0
  48. data/lib/rubocop/cop/variable_force.rb +16 -17
  49. data/lib/rubocop/options.rb +15 -5
  50. data/lib/rubocop/result_cache.rb +3 -3
  51. data/lib/rubocop/string_util.rb +2 -147
  52. data/lib/rubocop/token.rb +2 -1
  53. data/lib/rubocop/version.rb +1 -1
  54. metadata +28 -9
  55. data/lib/rubocop/cop/lint/splat_keyword_arguments.rb +0 -36
@@ -45,7 +45,8 @@ module RuboCop
45
45
 
46
46
  # Checks if there is whitespace before token
47
47
  def space_before?
48
- pos.source_buffer.source.match(/\G\s/, begin_pos - 1)
48
+ position = begin_pos.zero? ? begin_pos : begin_pos - 1
49
+ pos.source_buffer.source.match(/\G\s/, position)
49
50
  end
50
51
 
51
52
  ## Type Predicates
@@ -3,7 +3,7 @@
3
3
  module RuboCop
4
4
  # This module holds the RuboCop version information.
5
5
  module Version
6
- STRING = '0.56.0'.freeze
6
+ STRING = '0.57.0'.freeze
7
7
 
8
8
  MSG = '%<version>s (using Parser %<parser_version>s, running on ' \
9
9
  '%<ruby_engine>s %<ruby_version>s %<ruby_platform>s)'.freeze
metadata CHANGED
@@ -1,17 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.56.0
4
+ version: 0.57.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bozhidar Batsov
8
8
  - Jonas Arvidsson
9
9
  - Yuji Nakayama
10
10
  autorequire:
11
- bindir: bin
11
+ bindir: exe
12
12
  cert_chain: []
13
- date: 2018-05-14 00:00:00.000000000 Z
13
+ date: 2018-06-06 00:00:00.000000000 Z
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: jaro_winkler
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: 1.4.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: 1.4.0
15
29
  - !ruby/object:Gem::Dependency
16
30
  name: parallel
17
31
  requirement: !ruby/object:Gem::Requirement
@@ -157,10 +171,11 @@ files:
157
171
  - README.md
158
172
  - assets/logo.png
159
173
  - assets/output.html.erb
160
- - bin/rubocop
174
+ - bin/console
161
175
  - config/default.yml
162
176
  - config/disabled.yml
163
177
  - config/enabled.yml
178
+ - exe/rubocop
164
179
  - lib/rubocop.rb
165
180
  - lib/rubocop/ast/builder.rb
166
181
  - lib/rubocop/ast/node.rb
@@ -247,6 +262,7 @@ files:
247
262
  - lib/rubocop/cop/layout/block_end_newline.rb
248
263
  - lib/rubocop/cop/layout/case_indentation.rb
249
264
  - lib/rubocop/cop/layout/class_structure.rb
265
+ - lib/rubocop/cop/layout/closing_heredoc_indentation.rb
250
266
  - lib/rubocop/cop/layout/closing_parenthesis_indentation.rb
251
267
  - lib/rubocop/cop/layout/comment_indentation.rb
252
268
  - lib/rubocop/cop/layout/condition_position.rb
@@ -281,6 +297,7 @@ files:
281
297
  - lib/rubocop/cop/layout/indentation_consistency.rb
282
298
  - lib/rubocop/cop/layout/indentation_width.rb
283
299
  - lib/rubocop/cop/layout/initial_indentation.rb
300
+ - lib/rubocop/cop/layout/leading_blank_lines.rb
284
301
  - lib/rubocop/cop/layout/leading_comment_space.rb
285
302
  - lib/rubocop/cop/layout/multiline_array_brace_layout.rb
286
303
  - lib/rubocop/cop/layout/multiline_assignment_layout.rb
@@ -374,7 +391,6 @@ files:
374
391
  - lib/rubocop/cop/lint/shadowed_argument.rb
375
392
  - lib/rubocop/cop/lint/shadowed_exception.rb
376
393
  - lib/rubocop/cop/lint/shadowing_outer_local_variable.rb
377
- - lib/rubocop/cop/lint/splat_keyword_arguments.rb
378
394
  - lib/rubocop/cop/lint/string_conversion_in_interpolation.rb
379
395
  - lib/rubocop/cop/lint/syntax.rb
380
396
  - lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb
@@ -513,6 +529,7 @@ files:
513
529
  - lib/rubocop/cop/rails/application_record.rb
514
530
  - lib/rubocop/cop/rails/assert_not.rb
515
531
  - lib/rubocop/cop/rails/blank.rb
532
+ - lib/rubocop/cop/rails/bulk_change_table.rb
516
533
  - lib/rubocop/cop/rails/create_table_with_timestamps.rb
517
534
  - lib/rubocop/cop/rails/date.rb
518
535
  - lib/rubocop/cop/rails/delegate.rb
@@ -557,6 +574,7 @@ files:
557
574
  - lib/rubocop/cop/security/open.rb
558
575
  - lib/rubocop/cop/security/yaml_load.rb
559
576
  - lib/rubocop/cop/severity.rb
577
+ - lib/rubocop/cop/style/access_modifier_declarations.rb
560
578
  - lib/rubocop/cop/style/alias.rb
561
579
  - lib/rubocop/cop/style/and_or.rb
562
580
  - lib/rubocop/cop/style/array_join.rb
@@ -705,6 +723,7 @@ files:
705
723
  - lib/rubocop/cop/style/trivial_accessors.rb
706
724
  - lib/rubocop/cop/style/unless_else.rb
707
725
  - lib/rubocop/cop/style/unneeded_capital_w.rb
726
+ - lib/rubocop/cop/style/unneeded_condition.rb
708
727
  - lib/rubocop/cop/style/unneeded_interpolation.rb
709
728
  - lib/rubocop/cop/style/unneeded_percent_q.rb
710
729
  - lib/rubocop/cop/style/unpack_first.rb
@@ -769,15 +788,15 @@ files:
769
788
  - lib/rubocop/token.rb
770
789
  - lib/rubocop/version.rb
771
790
  - lib/rubocop/warning.rb
772
- homepage: https://github.com/bbatsov/rubocop
791
+ homepage: https://github.com/rubocop-hq/rubocop
773
792
  licenses:
774
793
  - MIT
775
794
  metadata:
776
795
  homepage_uri: https://rubocop.readthedocs.io/
777
- changelog_uri: https://github.com/bbatsov/rubocop/blob/master/CHANGELOG.md
778
- source_code_uri: https://github.com/bbatsov/rubocop/
796
+ changelog_uri: https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md
797
+ source_code_uri: https://github.com/rubocop-hq/rubocop/
779
798
  documentation_uri: https://rubocop.readthedocs.io/
780
- bug_tracker_uri: https://github.com/bbatsov/rubocop/issues
799
+ bug_tracker_uri: https://github.com/rubocop-hq/rubocop/issues
781
800
  post_install_message:
782
801
  rdoc_options: []
783
802
  require_paths:
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RuboCop
4
- module Cop
5
- module Lint
6
- #
7
- # This cop emulates the following Ruby warnings in Ruby 2.6.
8
- #
9
- # % ruby -we "def m(a) end; h = {foo: 1}; m(**h)"
10
- # -e:1: warning: passing splat keyword arguments as a single Hash to `m'
11
- #
12
- # It checks for use of splat keyword arguments as a single Hash.
13
- #
14
- # @example
15
- # # bad
16
- # do_something(**arguments)
17
- #
18
- # # good
19
- # do_something(arguments)
20
- #
21
- class SplatKeywordArguments < Cop
22
- MSG = 'Do not use splat keyword arguments as a single Hash.'.freeze
23
-
24
- def on_send(node)
25
- node.arguments.each do |argument|
26
- next unless argument.hash_type?
27
-
28
- argument.children.each do |element|
29
- add_offense(element) if element.kwsplat_type?
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end