rubocop 0.60.0 → 0.61.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.
- checksums.yaml +4 -4
- data/README.md +4 -4
- data/config/default.yml +573 -560
- data/lib/rubocop.rb +5 -0
- data/lib/rubocop/ast/node.rb +1 -1
- data/lib/rubocop/ast/sexp.rb +1 -1
- data/lib/rubocop/cli.rb +9 -14
- data/lib/rubocop/config.rb +4 -3
- data/lib/rubocop/config_loader.rb +25 -22
- data/lib/rubocop/config_loader_resolver.rb +3 -2
- data/lib/rubocop/cop/correctors/each_to_for_corrector.rb +53 -0
- data/lib/rubocop/cop/correctors/for_to_each_corrector.rb +73 -0
- data/lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb +138 -0
- data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +52 -46
- data/lib/rubocop/cop/generator.rb +13 -17
- data/lib/rubocop/cop/generator/configuration_injector.rb +60 -0
- data/lib/rubocop/cop/layout/align_hash.rb +3 -0
- data/lib/rubocop/cop/layout/comment_indentation.rb +32 -2
- data/lib/rubocop/cop/layout/indent_heredoc.rb +11 -5
- data/lib/rubocop/cop/layout/indentation_width.rb +7 -1
- data/lib/rubocop/cop/layout/multiline_array_brace_layout.rb +11 -11
- data/lib/rubocop/cop/layout/multiline_hash_brace_layout.rb +1 -1
- data/lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb +1 -1
- data/lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb +1 -1
- data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +16 -3
- data/lib/rubocop/cop/layout/space_around_block_parameters.rb +30 -17
- data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +11 -0
- data/lib/rubocop/cop/lint/shadowed_exception.rb +2 -5
- data/lib/rubocop/cop/lint/useless_access_modifier.rb +1 -1
- data/lib/rubocop/cop/metrics/line_length.rb +2 -2
- data/lib/rubocop/cop/mixin/trailing_comma.rb +11 -15
- data/lib/rubocop/cop/offense.rb +1 -1
- data/lib/rubocop/cop/performance/open_struct.rb +46 -0
- data/lib/rubocop/cop/performance/redundant_merge.rb +18 -4
- data/lib/rubocop/cop/rails/bulk_change_table.rb +2 -2
- data/lib/rubocop/cop/rails/dynamic_find_by.rb +15 -8
- data/lib/rubocop/cop/rails/http_positional_arguments.rb +17 -14
- data/lib/rubocop/cop/rails/http_status.rb +4 -4
- data/lib/rubocop/cop/rails/inverse_of.rb +2 -2
- data/lib/rubocop/cop/rails/reversible_migration.rb +1 -1
- data/lib/rubocop/cop/rails/skips_model_validations.rb +1 -1
- data/lib/rubocop/cop/rails/validation.rb +4 -4
- data/lib/rubocop/cop/security/open.rb +31 -11
- data/lib/rubocop/cop/style/begin_block.rb +6 -0
- data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +1 -1
- data/lib/rubocop/cop/style/empty_case_condition.rb +13 -7
- data/lib/rubocop/cop/style/for.rb +9 -78
- data/lib/rubocop/cop/style/frozen_string_literal_comment.rb +6 -4
- data/lib/rubocop/cop/style/global_vars.rb +1 -1
- data/lib/rubocop/cop/style/infinite_loop.rb +42 -6
- data/lib/rubocop/cop/style/lambda.rb +4 -87
- data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +221 -16
- data/lib/rubocop/cop/style/raise_args.rb +1 -1
- data/lib/rubocop/cop/style/regexp_literal.rb +62 -10
- data/lib/rubocop/cop/style/unneeded_condition.rb +2 -2
- data/lib/rubocop/cop/variable_force.rb +4 -2
- data/lib/rubocop/cop/variable_force/variable.rb +2 -0
- data/lib/rubocop/magic_comment.rb +1 -1
- data/lib/rubocop/remote_config.rb +13 -4
- data/lib/rubocop/rspec/expect_offense.rb +1 -1
- data/lib/rubocop/runner.rb +15 -4
- data/lib/rubocop/version.rb +1 -1
- metadata +7 -2
@@ -42,16 +42,25 @@ module RuboCop
|
|
42
42
|
raise ArgumentError, 'HTTP redirect too deep' if limit.zero?
|
43
43
|
|
44
44
|
http = Net::HTTP.new(uri.hostname, uri.port)
|
45
|
-
http.use_ssl =
|
45
|
+
http.use_ssl = uri.instance_of?(URI::HTTPS)
|
46
46
|
|
47
|
+
generate_request(uri) do |request|
|
48
|
+
begin
|
49
|
+
handle_response(http.request(request), limit, &block)
|
50
|
+
rescue SocketError => err
|
51
|
+
handle_response(err, limit, &block)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def generate_request(uri)
|
47
57
|
request = Net::HTTP::Get.new(uri.request_uri)
|
58
|
+
|
48
59
|
if cache_path_exists?
|
49
60
|
request['If-Modified-Since'] = File.stat(cache_path).mtime.rfc2822
|
50
61
|
end
|
51
62
|
|
52
|
-
|
53
|
-
rescue SocketError => err
|
54
|
-
handle_response(err, limit, &block)
|
63
|
+
yield request
|
55
64
|
end
|
56
65
|
|
57
66
|
def handle_response(response, limit, &block)
|
@@ -41,7 +41,7 @@ module RuboCop
|
|
41
41
|
# If you do not want to specify an offense then use the
|
42
42
|
# companion method `expect_no_offenses`. This method is a much
|
43
43
|
# simpler assertion since it just inspects the source and checks
|
44
|
-
# that there were no offenses. The `
|
44
|
+
# that there were no offenses. The `expect_offense` method has
|
45
45
|
# to do more work by parsing out lines that contain carets.
|
46
46
|
module ExpectOffense
|
47
47
|
def expect_offense(source, file = nil)
|
data/lib/rubocop/runner.rb
CHANGED
@@ -19,8 +19,8 @@ module RuboCop
|
|
19
19
|
|
20
20
|
MAX_ITERATIONS = 200
|
21
21
|
|
22
|
-
attr_reader :errors, :warnings
|
23
|
-
|
22
|
+
attr_reader :errors, :warnings
|
23
|
+
attr_writer :aborting
|
24
24
|
|
25
25
|
def initialize(options, config_store)
|
26
26
|
@options = options
|
@@ -30,6 +30,15 @@ module RuboCop
|
|
30
30
|
@aborting = false
|
31
31
|
end
|
32
32
|
|
33
|
+
def trap_interrupt
|
34
|
+
Signal.trap('INT') do
|
35
|
+
exit!(1) if aborting?
|
36
|
+
self.aborting = true
|
37
|
+
warn ''
|
38
|
+
warn 'Exiting... Interrupt again to exit immediately.'
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
33
42
|
def run(paths)
|
34
43
|
target_files = find_target_files(paths)
|
35
44
|
if @options[:list_target_files]
|
@@ -40,8 +49,8 @@ module RuboCop
|
|
40
49
|
end
|
41
50
|
end
|
42
51
|
|
43
|
-
def
|
44
|
-
@aborting
|
52
|
+
def aborting?
|
53
|
+
@aborting
|
45
54
|
end
|
46
55
|
|
47
56
|
private
|
@@ -72,6 +81,8 @@ module RuboCop
|
|
72
81
|
end
|
73
82
|
|
74
83
|
def each_inspected_file(files)
|
84
|
+
trap_interrupt
|
85
|
+
|
75
86
|
files.reduce(true) do |all_passed, file|
|
76
87
|
break false if aborting?
|
77
88
|
|
data/lib/rubocop/version.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
module RuboCop
|
4
4
|
# This module holds the RuboCop version information.
|
5
5
|
module Version
|
6
|
-
STRING = '0.
|
6
|
+
STRING = '0.61.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,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.61.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bozhidar Batsov
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2018-
|
13
|
+
date: 2018-12-05 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: jaro_winkler
|
@@ -226,7 +226,10 @@ files:
|
|
226
226
|
- lib/rubocop/cop/corrector.rb
|
227
227
|
- lib/rubocop/cop/correctors/alignment_corrector.rb
|
228
228
|
- lib/rubocop/cop/correctors/condition_corrector.rb
|
229
|
+
- lib/rubocop/cop/correctors/each_to_for_corrector.rb
|
229
230
|
- lib/rubocop/cop/correctors/empty_line_corrector.rb
|
231
|
+
- lib/rubocop/cop/correctors/for_to_each_corrector.rb
|
232
|
+
- lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb
|
230
233
|
- lib/rubocop/cop/correctors/line_break_corrector.rb
|
231
234
|
- lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb
|
232
235
|
- lib/rubocop/cop/correctors/ordered_gem_corrector.rb
|
@@ -241,6 +244,7 @@ files:
|
|
241
244
|
- lib/rubocop/cop/gemspec/ordered_dependencies.rb
|
242
245
|
- lib/rubocop/cop/gemspec/required_ruby_version.rb
|
243
246
|
- lib/rubocop/cop/generator.rb
|
247
|
+
- lib/rubocop/cop/generator/configuration_injector.rb
|
244
248
|
- lib/rubocop/cop/generator/require_file_injector.rb
|
245
249
|
- lib/rubocop/cop/ignored_node.rb
|
246
250
|
- lib/rubocop/cop/internal_affairs.rb
|
@@ -507,6 +511,7 @@ files:
|
|
507
511
|
- lib/rubocop/cop/performance/flat_map.rb
|
508
512
|
- lib/rubocop/cop/performance/inefficient_hash_search.rb
|
509
513
|
- lib/rubocop/cop/performance/lstrip_rstrip.rb
|
514
|
+
- lib/rubocop/cop/performance/open_struct.rb
|
510
515
|
- lib/rubocop/cop/performance/range_include.rb
|
511
516
|
- lib/rubocop/cop/performance/redundant_block_call.rb
|
512
517
|
- lib/rubocop/cop/performance/redundant_match.rb
|