rubocop 0.20.1 → 0.21.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.

Potentially problematic release.


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

Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +46 -0
  3. data/README.md +16 -4
  4. data/config/default.yml +37 -10
  5. data/config/enabled.yml +25 -7
  6. data/lib/rubocop.rb +15 -19
  7. data/lib/rubocop/cli.rb +2 -2
  8. data/lib/rubocop/config.rb +40 -3
  9. data/lib/rubocop/config_loader.rb +6 -37
  10. data/lib/rubocop/config_store.rb +0 -1
  11. data/lib/rubocop/cop/commissioner.rb +12 -9
  12. data/lib/rubocop/cop/cop.rb +17 -5
  13. data/lib/rubocop/cop/force.rb +41 -0
  14. data/lib/rubocop/cop/ignored_node.rb +10 -10
  15. data/lib/rubocop/cop/lint/ambiguous_operator.rb +1 -1
  16. data/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +2 -2
  17. data/lib/rubocop/cop/lint/block_alignment.rb +2 -2
  18. data/lib/rubocop/cop/lint/condition_position.rb +2 -0
  19. data/lib/rubocop/cop/lint/debugger.rb +17 -3
  20. data/lib/rubocop/cop/lint/end_alignment.rb +3 -11
  21. data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +1 -1
  22. data/lib/rubocop/cop/lint/rescue_exception.rb +11 -0
  23. data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +4 -6
  24. data/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +39 -0
  25. data/lib/rubocop/cop/lint/unused_block_argument.rb +81 -0
  26. data/lib/rubocop/cop/lint/unused_method_argument.rb +52 -0
  27. data/lib/rubocop/cop/lint/useless_assignment.rb +6 -8
  28. data/lib/rubocop/cop/lint/useless_else_without_rescue.rb +6 -0
  29. data/lib/rubocop/cop/lint/useless_setter_call.rb +1 -1
  30. data/lib/rubocop/cop/lint/void.rb +1 -1
  31. data/lib/rubocop/cop/mixin/autocorrect_alignment.rb +2 -2
  32. data/lib/rubocop/cop/mixin/autocorrect_unless_changing_ast.rb +7 -3
  33. data/lib/rubocop/cop/mixin/check_assignment.rb +11 -0
  34. data/lib/rubocop/cop/mixin/check_methods.rb +12 -0
  35. data/lib/rubocop/cop/mixin/percent_literal.rb +26 -0
  36. data/lib/rubocop/cop/mixin/space_after_punctuation.rb +2 -2
  37. data/lib/rubocop/cop/mixin/string_help.rb +0 -4
  38. data/lib/rubocop/cop/rails/delegate.rb +109 -0
  39. data/lib/rubocop/cop/style/align_hash.rb +3 -3
  40. data/lib/rubocop/cop/style/class_and_module_children.rb +2 -2
  41. data/lib/rubocop/cop/style/colon_method_call.rb +2 -2
  42. data/lib/rubocop/cop/style/dot_position.rb +1 -1
  43. data/lib/rubocop/cop/style/encoding.rb +44 -16
  44. data/lib/rubocop/cop/style/indentation_width.rb +29 -19
  45. data/lib/rubocop/cop/style/lambda_call.rb +1 -1
  46. data/lib/rubocop/cop/style/line_end_concatenation.rb +1 -1
  47. data/lib/rubocop/cop/style/percent_literal_delimiters.rb +3 -21
  48. data/lib/rubocop/cop/style/predicate_name.rb +1 -1
  49. data/lib/rubocop/cop/style/raise_args.rb +1 -1
  50. data/lib/rubocop/cop/style/redundant_begin.rb +18 -2
  51. data/lib/rubocop/cop/style/redundant_self.rb +2 -2
  52. data/lib/rubocop/cop/style/regexp_literal.rb +29 -37
  53. data/lib/rubocop/cop/style/space_after_method_name.rb +1 -1
  54. data/lib/rubocop/cop/style/string_literals.rb +1 -1
  55. data/lib/rubocop/cop/style/trailing_blank_lines.rb +37 -23
  56. data/lib/rubocop/cop/style/trailing_comma.rb +2 -3
  57. data/lib/rubocop/cop/style/trivial_accessors.rb +40 -4
  58. data/lib/rubocop/cop/style/unneeded_capital_w.rb +29 -0
  59. data/lib/rubocop/cop/team.rb +10 -2
  60. data/lib/rubocop/cop/util.rb +2 -2
  61. data/lib/rubocop/cop/{variable_inspector.rb → variable_force.rb} +45 -37
  62. data/lib/rubocop/cop/{variable_inspector → variable_force}/assignment.rb +1 -1
  63. data/lib/rubocop/cop/{variable_inspector → variable_force}/locatable.rb +1 -1
  64. data/lib/rubocop/cop/{variable_inspector → variable_force}/reference.rb +13 -1
  65. data/lib/rubocop/cop/{variable_inspector → variable_force}/scope.rb +9 -1
  66. data/lib/rubocop/cop/{variable_inspector → variable_force}/variable.rb +14 -4
  67. data/lib/rubocop/cop/{variable_inspector → variable_force}/variable_table.rb +1 -1
  68. data/lib/rubocop/file_inspector.rb +3 -1
  69. data/lib/rubocop/formatter/base_formatter.rb +1 -1
  70. data/lib/rubocop/formatter/disabled_config_formatter.rb +2 -2
  71. data/lib/rubocop/formatter/disabled_lines_formatter.rb +2 -2
  72. data/lib/rubocop/formatter/offense_count_formatter.rb +11 -10
  73. data/lib/rubocop/formatter/progress_formatter.rb +2 -2
  74. data/lib/rubocop/formatter/simple_text_formatter.rb +1 -1
  75. data/lib/rubocop/options.rb +74 -58
  76. data/lib/rubocop/path_util.rb +17 -2
  77. data/lib/rubocop/rake_task.rb +23 -5
  78. data/lib/rubocop/version.rb +1 -1
  79. data/relnotes/v0.21.0.md +45 -0
  80. data/rubocop-todo.yml +6 -6
  81. data/rubocop.gemspec +1 -1
  82. data/spec/rubocop/cli_spec.rb +170 -59
  83. data/spec/rubocop/config_spec.rb +48 -3
  84. data/spec/rubocop/config_store_spec.rb +3 -3
  85. data/spec/rubocop/cop/commissioner_spec.rb +9 -7
  86. data/spec/rubocop/cop/cop_spec.rb +0 -2
  87. data/spec/rubocop/cop/force_spec.rb +29 -0
  88. data/spec/rubocop/cop/lint/ambiguous_operator_spec.rb +2 -2
  89. data/spec/rubocop/cop/lint/ambiguous_regexp_literal_spec.rb +1 -1
  90. data/spec/rubocop/cop/lint/block_alignment_spec.rb +24 -24
  91. data/spec/rubocop/cop/lint/condition_position_spec.rb +7 -5
  92. data/spec/rubocop/cop/lint/debugger_spec.rb +26 -9
  93. data/spec/rubocop/cop/lint/end_alignment_spec.rb +6 -3
  94. data/spec/rubocop/cop/lint/invalid_character_literal_spec.rb +7 -6
  95. data/spec/rubocop/cop/lint/rescue_exception_spec.rb +36 -0
  96. data/spec/rubocop/cop/lint/shadowing_outer_local_variable_spec.rb +4 -4
  97. data/spec/rubocop/cop/lint/underscore_prefixed_variable_name_spec.rb +179 -0
  98. data/spec/rubocop/cop/lint/unused_block_argument_spec.rb +147 -0
  99. data/spec/rubocop/cop/lint/unused_method_argument_spec.rb +140 -0
  100. data/spec/rubocop/cop/lint/useless_assignment_spec.rb +50 -48
  101. data/spec/rubocop/cop/lint/useless_else_without_rescue_spec.rb +1 -1
  102. data/spec/rubocop/cop/lint/useless_setter_call_spec.rb +2 -0
  103. data/spec/rubocop/cop/rails/delegate_spec.rb +152 -0
  104. data/spec/rubocop/cop/style/encoding_spec.rb +131 -36
  105. data/spec/rubocop/cop/style/indentation_width_spec.rb +79 -0
  106. data/spec/rubocop/cop/style/redundant_begin_spec.rb +32 -0
  107. data/spec/rubocop/cop/style/regexp_literal_spec.rb +83 -13
  108. data/spec/rubocop/cop/style/string_literals_spec.rb +9 -3
  109. data/spec/rubocop/cop/style/trailing_blank_lines_spec.rb +65 -25
  110. data/spec/rubocop/cop/style/trivial_accessors_spec.rb +76 -0
  111. data/spec/rubocop/cop/style/unneeded_capital_w_spec.rb +85 -0
  112. data/spec/rubocop/cop/team_spec.rb +43 -0
  113. data/spec/rubocop/cop/{variable_inspector → variable_force}/assignment_spec.rb +3 -3
  114. data/spec/rubocop/cop/{variable_inspector → variable_force}/locatable_spec.rb +3 -3
  115. data/spec/rubocop/cop/{variable_inspector → variable_force}/scope_spec.rb +30 -2
  116. data/spec/rubocop/cop/{variable_inspector → variable_force}/variable_spec.rb +12 -27
  117. data/spec/rubocop/cop/{variable_inspector → variable_force}/variable_table_spec.rb +1 -1
  118. data/spec/rubocop/cop/{variable_inspector_spec.rb → variable_force_spec.rb} +4 -8
  119. data/spec/rubocop/formatter/base_formatter_spec.rb +2 -2
  120. data/spec/rubocop/formatter/offense_count_formatter_spec.rb +1 -1
  121. data/spec/rubocop/formatter/progress_formatter_spec.rb +1 -1
  122. data/spec/rubocop/options_spec.rb +2 -2
  123. data/spec/rubocop/path_util_spec.rb +47 -14
  124. data/spec/spec_helper.rb +9 -3
  125. data/spec/support/file_helper.rb +2 -0
  126. metadata +43 -26
  127. data/lib/rubocop/cop/style/final_newline.rb +0 -29
  128. data/spec/rubocop/cop/style/final_newline_spec.rb +0 -30
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.1
4
+ version: 0.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bozhidar Batsov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-05 00:00:00.000000000 Z
11
+ date: 2014-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rainbow
@@ -36,14 +36,14 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 2.1.7
39
+ version: 2.1.9
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: 2.1.7
46
+ version: 2.1.9
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: powerpack
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -197,6 +197,7 @@ files:
197
197
  - lib/rubocop/cop/commissioner.rb
198
198
  - lib/rubocop/cop/cop.rb
199
199
  - lib/rubocop/cop/corrector.rb
200
+ - lib/rubocop/cop/force.rb
200
201
  - lib/rubocop/cop/ignored_node.rb
201
202
  - lib/rubocop/cop/lint/ambiguous_operator.rb
202
203
  - lib/rubocop/cop/lint/ambiguous_regexp_literal.rb
@@ -224,7 +225,10 @@ files:
224
225
  - lib/rubocop/cop/lint/space_before_first_arg.rb
225
226
  - lib/rubocop/cop/lint/string_conversion_in_interpolation.rb
226
227
  - lib/rubocop/cop/lint/syntax.rb
228
+ - lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb
227
229
  - lib/rubocop/cop/lint/unreachable_code.rb
230
+ - lib/rubocop/cop/lint/unused_block_argument.rb
231
+ - lib/rubocop/cop/lint/unused_method_argument.rb
228
232
  - lib/rubocop/cop/lint/useless_access_modifier.rb
229
233
  - lib/rubocop/cop/lint/useless_assignment.rb
230
234
  - lib/rubocop/cop/lint/useless_comparison.rb
@@ -245,6 +249,7 @@ files:
245
249
  - lib/rubocop/cop/mixin/if_then_else.rb
246
250
  - lib/rubocop/cop/mixin/negative_conditional.rb
247
251
  - lib/rubocop/cop/mixin/parser_diagnostic.rb
252
+ - lib/rubocop/cop/mixin/percent_literal.rb
248
253
  - lib/rubocop/cop/mixin/safe_assignment.rb
249
254
  - lib/rubocop/cop/mixin/space_after_punctuation.rb
250
255
  - lib/rubocop/cop/mixin/space_inside.rb
@@ -254,6 +259,7 @@ files:
254
259
  - lib/rubocop/cop/offense.rb
255
260
  - lib/rubocop/cop/rails/action_filter.rb
256
261
  - lib/rubocop/cop/rails/default_scope.rb
262
+ - lib/rubocop/cop/rails/delegate.rb
257
263
  - lib/rubocop/cop/rails/has_and_belongs_to_many.rb
258
264
  - lib/rubocop/cop/rails/output.rb
259
265
  - lib/rubocop/cop/rails/read_write_attribute.rb
@@ -304,7 +310,6 @@ files:
304
310
  - lib/rubocop/cop/style/end_of_line.rb
305
311
  - lib/rubocop/cop/style/even_odd.rb
306
312
  - lib/rubocop/cop/style/file_name.rb
307
- - lib/rubocop/cop/style/final_newline.rb
308
313
  - lib/rubocop/cop/style/flip_flop.rb
309
314
  - lib/rubocop/cop/style/for.rb
310
315
  - lib/rubocop/cop/style/format_string.rb
@@ -382,6 +387,7 @@ files:
382
387
  - lib/rubocop/cop/style/trailing_whitespace.rb
383
388
  - lib/rubocop/cop/style/trivial_accessors.rb
384
389
  - lib/rubocop/cop/style/unless_else.rb
390
+ - lib/rubocop/cop/style/unneeded_capital_w.rb
385
391
  - lib/rubocop/cop/style/variable_interpolation.rb
386
392
  - lib/rubocop/cop/style/variable_name.rb
387
393
  - lib/rubocop/cop/style/when_then.rb
@@ -390,13 +396,13 @@ files:
390
396
  - lib/rubocop/cop/style/word_array.rb
391
397
  - lib/rubocop/cop/team.rb
392
398
  - lib/rubocop/cop/util.rb
393
- - lib/rubocop/cop/variable_inspector.rb
394
- - lib/rubocop/cop/variable_inspector/assignment.rb
395
- - lib/rubocop/cop/variable_inspector/locatable.rb
396
- - lib/rubocop/cop/variable_inspector/reference.rb
397
- - lib/rubocop/cop/variable_inspector/scope.rb
398
- - lib/rubocop/cop/variable_inspector/variable.rb
399
- - lib/rubocop/cop/variable_inspector/variable_table.rb
399
+ - lib/rubocop/cop/variable_force.rb
400
+ - lib/rubocop/cop/variable_force/assignment.rb
401
+ - lib/rubocop/cop/variable_force/locatable.rb
402
+ - lib/rubocop/cop/variable_force/reference.rb
403
+ - lib/rubocop/cop/variable_force/scope.rb
404
+ - lib/rubocop/cop/variable_force/variable.rb
405
+ - lib/rubocop/cop/variable_force/variable_table.rb
400
406
  - lib/rubocop/file_inspector.rb
401
407
  - lib/rubocop/formatter/base_formatter.rb
402
408
  - lib/rubocop/formatter/clang_style_formatter.rb
@@ -423,6 +429,7 @@ files:
423
429
  - relnotes/v0.19.1.md
424
430
  - relnotes/v0.20.0.md
425
431
  - relnotes/v0.20.1.md
432
+ - relnotes/v0.21.0.md
426
433
  - rubocop-todo.yml
427
434
  - rubocop.gemspec
428
435
  - spec/.rubocop.yml
@@ -436,6 +443,7 @@ files:
436
443
  - spec/rubocop/cop/commissioner_spec.rb
437
444
  - spec/rubocop/cop/cop_spec.rb
438
445
  - spec/rubocop/cop/corrector_spec.rb
446
+ - spec/rubocop/cop/force_spec.rb
439
447
  - spec/rubocop/cop/lint/ambiguous_operator_spec.rb
440
448
  - spec/rubocop/cop/lint/ambiguous_regexp_literal_spec.rb
441
449
  - spec/rubocop/cop/lint/assignment_in_condition_spec.rb
@@ -462,7 +470,10 @@ files:
462
470
  - spec/rubocop/cop/lint/space_before_first_arg_spec.rb
463
471
  - spec/rubocop/cop/lint/string_conversion_in_interpolation_spec.rb
464
472
  - spec/rubocop/cop/lint/syntax_spec.rb
473
+ - spec/rubocop/cop/lint/underscore_prefixed_variable_name_spec.rb
465
474
  - spec/rubocop/cop/lint/unreachable_code_spec.rb
475
+ - spec/rubocop/cop/lint/unused_block_argument_spec.rb
476
+ - spec/rubocop/cop/lint/unused_method_argument_spec.rb
466
477
  - spec/rubocop/cop/lint/useless_access_modifier_spec.rb
467
478
  - spec/rubocop/cop/lint/useless_assignment_spec.rb
468
479
  - spec/rubocop/cop/lint/useless_comparison_spec.rb
@@ -472,6 +483,7 @@ files:
472
483
  - spec/rubocop/cop/offense_spec.rb
473
484
  - spec/rubocop/cop/rails/action_filter_spec.rb
474
485
  - spec/rubocop/cop/rails/default_scope_spec.rb
486
+ - spec/rubocop/cop/rails/delegate_spec.rb
475
487
  - spec/rubocop/cop/rails/has_and_belongs_to_many_spec.rb
476
488
  - spec/rubocop/cop/rails/output_spec.rb
477
489
  - spec/rubocop/cop/rails/read_write_attribute_spec.rb
@@ -522,7 +534,6 @@ files:
522
534
  - spec/rubocop/cop/style/end_of_line_spec.rb
523
535
  - spec/rubocop/cop/style/even_odd_spec.rb
524
536
  - spec/rubocop/cop/style/file_name_spec.rb
525
- - spec/rubocop/cop/style/final_newline_spec.rb
526
537
  - spec/rubocop/cop/style/flip_flop_spec.rb
527
538
  - spec/rubocop/cop/style/for_spec.rb
528
539
  - spec/rubocop/cop/style/format_string_spec.rb
@@ -600,6 +611,7 @@ files:
600
611
  - spec/rubocop/cop/style/trailing_whitespace_spec.rb
601
612
  - spec/rubocop/cop/style/trivial_accessors_spec.rb
602
613
  - spec/rubocop/cop/style/unless_else_spec.rb
614
+ - spec/rubocop/cop/style/unneeded_capital_w_spec.rb
603
615
  - spec/rubocop/cop/style/variable_interpolation_spec.rb
604
616
  - spec/rubocop/cop/style/variable_name_spec.rb
605
617
  - spec/rubocop/cop/style/when_then_spec.rb
@@ -608,12 +620,12 @@ files:
608
620
  - spec/rubocop/cop/style/word_array_spec.rb
609
621
  - spec/rubocop/cop/team_spec.rb
610
622
  - spec/rubocop/cop/util_spec.rb
611
- - spec/rubocop/cop/variable_inspector/assignment_spec.rb
612
- - spec/rubocop/cop/variable_inspector/locatable_spec.rb
613
- - spec/rubocop/cop/variable_inspector/scope_spec.rb
614
- - spec/rubocop/cop/variable_inspector/variable_spec.rb
615
- - spec/rubocop/cop/variable_inspector/variable_table_spec.rb
616
- - spec/rubocop/cop/variable_inspector_spec.rb
623
+ - spec/rubocop/cop/variable_force/assignment_spec.rb
624
+ - spec/rubocop/cop/variable_force/locatable_spec.rb
625
+ - spec/rubocop/cop/variable_force/scope_spec.rb
626
+ - spec/rubocop/cop/variable_force/variable_spec.rb
627
+ - spec/rubocop/cop/variable_force/variable_table_spec.rb
628
+ - spec/rubocop/cop/variable_force_spec.rb
617
629
  - spec/rubocop/file_inspector_spec.rb
618
630
  - spec/rubocop/formatter/base_formatter_spec.rb
619
631
  - spec/rubocop/formatter/clang_style_formatter_spec.rb
@@ -678,6 +690,7 @@ test_files:
678
690
  - spec/rubocop/cop/commissioner_spec.rb
679
691
  - spec/rubocop/cop/cop_spec.rb
680
692
  - spec/rubocop/cop/corrector_spec.rb
693
+ - spec/rubocop/cop/force_spec.rb
681
694
  - spec/rubocop/cop/lint/ambiguous_operator_spec.rb
682
695
  - spec/rubocop/cop/lint/ambiguous_regexp_literal_spec.rb
683
696
  - spec/rubocop/cop/lint/assignment_in_condition_spec.rb
@@ -704,7 +717,10 @@ test_files:
704
717
  - spec/rubocop/cop/lint/space_before_first_arg_spec.rb
705
718
  - spec/rubocop/cop/lint/string_conversion_in_interpolation_spec.rb
706
719
  - spec/rubocop/cop/lint/syntax_spec.rb
720
+ - spec/rubocop/cop/lint/underscore_prefixed_variable_name_spec.rb
707
721
  - spec/rubocop/cop/lint/unreachable_code_spec.rb
722
+ - spec/rubocop/cop/lint/unused_block_argument_spec.rb
723
+ - spec/rubocop/cop/lint/unused_method_argument_spec.rb
708
724
  - spec/rubocop/cop/lint/useless_access_modifier_spec.rb
709
725
  - spec/rubocop/cop/lint/useless_assignment_spec.rb
710
726
  - spec/rubocop/cop/lint/useless_comparison_spec.rb
@@ -714,6 +730,7 @@ test_files:
714
730
  - spec/rubocop/cop/offense_spec.rb
715
731
  - spec/rubocop/cop/rails/action_filter_spec.rb
716
732
  - spec/rubocop/cop/rails/default_scope_spec.rb
733
+ - spec/rubocop/cop/rails/delegate_spec.rb
717
734
  - spec/rubocop/cop/rails/has_and_belongs_to_many_spec.rb
718
735
  - spec/rubocop/cop/rails/output_spec.rb
719
736
  - spec/rubocop/cop/rails/read_write_attribute_spec.rb
@@ -764,7 +781,6 @@ test_files:
764
781
  - spec/rubocop/cop/style/end_of_line_spec.rb
765
782
  - spec/rubocop/cop/style/even_odd_spec.rb
766
783
  - spec/rubocop/cop/style/file_name_spec.rb
767
- - spec/rubocop/cop/style/final_newline_spec.rb
768
784
  - spec/rubocop/cop/style/flip_flop_spec.rb
769
785
  - spec/rubocop/cop/style/for_spec.rb
770
786
  - spec/rubocop/cop/style/format_string_spec.rb
@@ -842,6 +858,7 @@ test_files:
842
858
  - spec/rubocop/cop/style/trailing_whitespace_spec.rb
843
859
  - spec/rubocop/cop/style/trivial_accessors_spec.rb
844
860
  - spec/rubocop/cop/style/unless_else_spec.rb
861
+ - spec/rubocop/cop/style/unneeded_capital_w_spec.rb
845
862
  - spec/rubocop/cop/style/variable_interpolation_spec.rb
846
863
  - spec/rubocop/cop/style/variable_name_spec.rb
847
864
  - spec/rubocop/cop/style/when_then_spec.rb
@@ -850,12 +867,12 @@ test_files:
850
867
  - spec/rubocop/cop/style/word_array_spec.rb
851
868
  - spec/rubocop/cop/team_spec.rb
852
869
  - spec/rubocop/cop/util_spec.rb
853
- - spec/rubocop/cop/variable_inspector/assignment_spec.rb
854
- - spec/rubocop/cop/variable_inspector/locatable_spec.rb
855
- - spec/rubocop/cop/variable_inspector/scope_spec.rb
856
- - spec/rubocop/cop/variable_inspector/variable_spec.rb
857
- - spec/rubocop/cop/variable_inspector/variable_table_spec.rb
858
- - spec/rubocop/cop/variable_inspector_spec.rb
870
+ - spec/rubocop/cop/variable_force/assignment_spec.rb
871
+ - spec/rubocop/cop/variable_force/locatable_spec.rb
872
+ - spec/rubocop/cop/variable_force/scope_spec.rb
873
+ - spec/rubocop/cop/variable_force/variable_spec.rb
874
+ - spec/rubocop/cop/variable_force/variable_table_spec.rb
875
+ - spec/rubocop/cop/variable_force_spec.rb
859
876
  - spec/rubocop/file_inspector_spec.rb
860
877
  - spec/rubocop/formatter/base_formatter_spec.rb
861
878
  - spec/rubocop/formatter/clang_style_formatter_spec.rb
@@ -1,29 +0,0 @@
1
- # encoding: utf-8
2
-
3
- module Rubocop
4
- module Cop
5
- module Style
6
- # This cop enforces the presence of a final newline in each source file.
7
- class FinalNewline < Cop
8
- MSG = 'Source files should end with a newline (\n).'
9
-
10
- def investigate(processed_source)
11
- final_line = processed_source.raw_lines.to_a.last
12
-
13
- unless final_line.nil? || final_line.end_with?("\n")
14
- range = source_range(processed_source.buffer,
15
- processed_source[0...-1],
16
- final_line.length - 1, 1)
17
- add_offense(range, range)
18
- end
19
- end
20
-
21
- def autocorrect(range)
22
- @corrections << lambda do |corrector|
23
- corrector.insert_after(range, "\n")
24
- end
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,30 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'spec_helper'
4
-
5
- describe Rubocop::Cop::Style::FinalNewline do
6
- subject(:cop) { described_class.new }
7
-
8
- it 'registers an offense for missing final newline' do
9
- source = ['x = 0', 'top']
10
- inspect_source(cop, source)
11
- expect(cop.offenses.size).to eq(1)
12
- end
13
-
14
- it 'accepts a final newline' do
15
- source = ['x = 0', 'top', '']
16
- inspect_source(cop, source)
17
- expect(cop.offenses).to be_empty
18
- end
19
-
20
- it 'accepts an empty file' do
21
- source = ['']
22
- inspect_source(cop, source)
23
- expect(cop.offenses).to be_empty
24
- end
25
-
26
- it 'auto-corrects missing newline' do
27
- new_source = autocorrect_source(cop, ['x = 0'])
28
- expect(new_source).to eq(['x = 0', ''].join("\n"))
29
- end
30
- end