rubocop 0.58.2 → 0.59.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/config/default.yml +22 -7
- data/config/disabled.yml +33 -4
- data/config/enabled.yml +4 -11
- data/lib/rubocop.rb +5 -0
- data/lib/rubocop/ast/builder.rb +1 -0
- data/lib/rubocop/ast/node.rb +11 -33
- data/lib/rubocop/ast/node/block_node.rb +8 -1
- data/lib/rubocop/ast/node/defined_node.rb +13 -0
- data/lib/rubocop/ast/node/mixin/method_dispatch_node.rb +16 -5
- data/lib/rubocop/ast/node/mixin/method_identifier_predicates.rb +21 -0
- data/lib/rubocop/ast/node/send_node.rb +3 -12
- data/lib/rubocop/ast/traversal.rb +10 -0
- data/lib/rubocop/cli.rb +4 -1
- data/lib/rubocop/config.rb +21 -5
- data/lib/rubocop/config_loader.rb +2 -0
- data/lib/rubocop/config_loader_resolver.rb +3 -1
- data/lib/rubocop/cop/autocorrect_logic.rb +1 -0
- data/lib/rubocop/cop/bundler/gem_comment.rb +64 -0
- data/lib/rubocop/cop/bundler/ordered_gems.rb +2 -0
- data/lib/rubocop/cop/commissioner.rb +2 -0
- data/lib/rubocop/cop/cop.rb +3 -0
- data/lib/rubocop/cop/corrector.rb +2 -0
- data/lib/rubocop/cop/correctors/alignment_corrector.rb +1 -0
- data/lib/rubocop/cop/correctors/line_break_corrector.rb +2 -0
- data/lib/rubocop/cop/correctors/space_corrector.rb +2 -0
- data/lib/rubocop/cop/force.rb +1 -0
- data/lib/rubocop/cop/gemspec/ordered_dependencies.rb +1 -0
- data/lib/rubocop/cop/generator.rb +1 -0
- data/lib/rubocop/cop/layout/access_modifier_indentation.rb +1 -0
- data/lib/rubocop/cop/layout/class_structure.rb +4 -0
- data/lib/rubocop/cop/layout/closing_heredoc_indentation.rb +5 -4
- data/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +35 -0
- data/lib/rubocop/cop/layout/else_alignment.rb +1 -0
- data/lib/rubocop/cop/layout/empty_line_between_defs.rb +2 -0
- data/lib/rubocop/cop/layout/empty_lines_around_arguments.rb +1 -0
- data/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +5 -2
- data/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +1 -0
- data/lib/rubocop/cop/layout/end_of_line.rb +1 -0
- data/lib/rubocop/cop/layout/extra_spacing.rb +1 -0
- data/lib/rubocop/cop/layout/indent_array.rb +1 -0
- data/lib/rubocop/cop/layout/indent_heredoc.rb +3 -0
- data/lib/rubocop/cop/layout/indentation_width.rb +2 -0
- data/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +1 -0
- data/lib/rubocop/cop/layout/multiline_operation_indentation.rb +2 -1
- data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +34 -11
- data/lib/rubocop/cop/layout/space_after_method_name.rb +1 -0
- data/lib/rubocop/cop/layout/space_after_not.rb +1 -1
- data/lib/rubocop/cop/layout/space_around_keyword.rb +3 -1
- data/lib/rubocop/cop/layout/space_around_operators.rb +1 -0
- data/lib/rubocop/cop/layout/space_before_comment.rb +1 -0
- data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +16 -8
- data/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +2 -0
- data/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +1 -1
- data/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +2 -0
- data/lib/rubocop/cop/layout/tab.rb +1 -0
- data/lib/rubocop/cop/layout/trailing_whitespace.rb +1 -0
- data/lib/rubocop/cop/lint/deprecated_class_methods.rb +1 -0
- data/lib/rubocop/cop/lint/duplicate_methods.rb +9 -1
- data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +1 -0
- data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +1 -0
- data/lib/rubocop/cop/lint/interpolation_check.rb +2 -0
- data/lib/rubocop/cop/lint/literal_as_condition.rb +3 -6
- data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +1 -0
- data/lib/rubocop/cop/lint/nested_method_definition.rb +1 -0
- data/lib/rubocop/cop/lint/rescue_exception.rb +1 -0
- data/lib/rubocop/cop/lint/rescue_type.rb +1 -0
- data/lib/rubocop/cop/lint/safe_navigation_chain.rb +2 -2
- data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +2 -0
- data/lib/rubocop/cop/lint/script_permission.rb +1 -0
- data/lib/rubocop/cop/lint/shadowed_argument.rb +3 -0
- data/lib/rubocop/cop/lint/shadowed_exception.rb +2 -0
- data/lib/rubocop/cop/lint/unneeded_cop_disable_directive.rb +1 -0
- data/lib/rubocop/cop/lint/unneeded_cop_enable_directive.rb +1 -0
- data/lib/rubocop/cop/lint/unneeded_require_statement.rb +1 -0
- data/lib/rubocop/cop/lint/unneeded_splat_expansion.rb +1 -1
- data/lib/rubocop/cop/lint/unreachable_code.rb +2 -0
- data/lib/rubocop/cop/lint/useless_assignment.rb +1 -0
- data/lib/rubocop/cop/lint/useless_setter_call.rb +3 -0
- data/lib/rubocop/cop/lint/void.rb +1 -0
- data/lib/rubocop/cop/message_annotator.rb +1 -0
- data/lib/rubocop/cop/metrics/block_length.rb +1 -0
- data/lib/rubocop/cop/metrics/block_nesting.rb +1 -0
- data/lib/rubocop/cop/metrics/line_length.rb +6 -1
- data/lib/rubocop/cop/metrics/method_length.rb +1 -0
- data/lib/rubocop/cop/mixin/annotation_comment.rb +1 -0
- data/lib/rubocop/cop/mixin/classish_length.rb +1 -0
- data/lib/rubocop/cop/mixin/configurable_enforced_style.rb +1 -0
- data/lib/rubocop/cop/mixin/configurable_formatting.rb +1 -0
- data/lib/rubocop/cop/mixin/empty_lines_around_body.rb +12 -6
- data/lib/rubocop/cop/mixin/empty_parameter.rb +1 -0
- data/lib/rubocop/cop/mixin/ignored_methods.rb +19 -0
- data/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +25 -1
- data/lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb +5 -3
- data/lib/rubocop/cop/mixin/percent_literal.rb +2 -0
- data/lib/rubocop/cop/mixin/preceding_following_alignment.rb +2 -0
- data/lib/rubocop/cop/mixin/safe_assignment.rb +2 -1
- data/lib/rubocop/cop/mixin/statement_modifier.rb +6 -1
- data/lib/rubocop/cop/mixin/string_literals_help.rb +1 -0
- data/lib/rubocop/cop/mixin/surrounding_space.rb +4 -0
- data/lib/rubocop/cop/mixin/trailing_comma.rb +1 -0
- data/lib/rubocop/cop/mixin/uncommunicative_name.rb +2 -0
- data/lib/rubocop/cop/naming/ascii_identifiers.rb +1 -0
- data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +1 -0
- data/lib/rubocop/cop/naming/file_name.rb +4 -1
- data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +1 -0
- data/lib/rubocop/cop/naming/predicate_name.rb +1 -0
- data/lib/rubocop/cop/naming/uncommunicative_block_param_name.rb +1 -0
- data/lib/rubocop/cop/naming/uncommunicative_method_param_name.rb +1 -0
- data/lib/rubocop/cop/naming/variable_name.rb +1 -0
- data/lib/rubocop/cop/performance/case_when_splat.rb +11 -7
- data/lib/rubocop/cop/performance/casecmp.rb +33 -42
- data/lib/rubocop/cop/performance/chain_array_allocation.rb +77 -0
- data/lib/rubocop/cop/performance/compare_with_block.rb +3 -0
- data/lib/rubocop/cop/performance/regexp_match.rb +1 -0
- data/lib/rubocop/cop/performance/sample.rb +2 -0
- data/lib/rubocop/cop/performance/size.rb +8 -2
- data/lib/rubocop/cop/performance/string_replacement.rb +1 -0
- data/lib/rubocop/cop/rails/active_support_aliases.rb +1 -0
- data/lib/rubocop/cop/rails/bulk_change_table.rb +9 -2
- data/lib/rubocop/cop/rails/create_table_with_timestamps.rb +1 -0
- data/lib/rubocop/cop/rails/delegate.rb +7 -2
- data/lib/rubocop/cop/rails/dynamic_find_by.rb +1 -0
- data/lib/rubocop/cop/rails/find_each.rb +7 -2
- data/lib/rubocop/cop/rails/http_positional_arguments.rb +1 -1
- data/lib/rubocop/cop/rails/http_status.rb +2 -0
- data/lib/rubocop/cop/rails/inverse_of.rb +4 -0
- data/lib/rubocop/cop/rails/lexically_scoped_action_filter.rb +1 -0
- data/lib/rubocop/cop/rails/redundant_receiver_in_with_options.rb +1 -0
- data/lib/rubocop/cop/rails/reversible_migration.rb +1 -0
- data/lib/rubocop/cop/rails/save_bang.rb +189 -38
- data/lib/rubocop/cop/rails/time_zone.rb +1 -0
- data/lib/rubocop/cop/security/eval.rb +1 -0
- data/lib/rubocop/cop/security/json_load.rb +2 -2
- data/lib/rubocop/cop/security/open.rb +6 -3
- data/lib/rubocop/cop/severity.rb +1 -0
- data/lib/rubocop/cop/style/and_or.rb +3 -3
- data/lib/rubocop/cop/style/ascii_comments.rb +1 -0
- data/lib/rubocop/cop/style/block_delimiters.rb +2 -4
- data/lib/rubocop/cop/style/braces_around_hash_parameters.rb +2 -3
- data/lib/rubocop/cop/style/class_and_module_children.rb +3 -0
- data/lib/rubocop/cop/style/class_vars.rb +1 -1
- data/lib/rubocop/cop/style/colon_method_definition.rb +1 -0
- data/lib/rubocop/cop/style/commented_keyword.rb +2 -0
- data/lib/rubocop/cop/style/conditional_assignment.rb +2 -0
- data/lib/rubocop/cop/style/copyright.rb +7 -2
- data/lib/rubocop/cop/style/date_time.rb +40 -7
- data/lib/rubocop/cop/style/double_negation.rb +1 -1
- data/lib/rubocop/cop/style/empty_case_condition.rb +8 -0
- data/lib/rubocop/cop/style/empty_else.rb +2 -0
- data/lib/rubocop/cop/style/empty_lambda_parameter.rb +1 -0
- data/lib/rubocop/cop/style/eval_with_location.rb +2 -0
- data/lib/rubocop/cop/style/for.rb +56 -10
- data/lib/rubocop/cop/style/format_string_token.rb +1 -1
- data/lib/rubocop/cop/style/if_with_semicolon.rb +1 -0
- data/lib/rubocop/cop/style/inverse_methods.rb +1 -0
- data/lib/rubocop/cop/style/lambda.rb +1 -0
- data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +3 -5
- data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +3 -5
- data/lib/rubocop/cop/style/method_def_parentheses.rb +2 -2
- data/lib/rubocop/cop/style/missing_else.rb +1 -0
- data/lib/rubocop/cop/style/multiline_memoization.rb +1 -0
- data/lib/rubocop/cop/style/multiline_method_signature.rb +65 -0
- data/lib/rubocop/cop/style/multiple_comparison.rb +1 -0
- data/lib/rubocop/cop/style/nil_comparison.rb +45 -5
- data/lib/rubocop/cop/style/not.rb +1 -1
- data/lib/rubocop/cop/style/numeric_predicate.rb +5 -0
- data/lib/rubocop/cop/style/one_line_conditional.rb +1 -1
- data/lib/rubocop/cop/style/or_assignment.rb +2 -0
- data/lib/rubocop/cop/style/percent_q_literals.rb +1 -1
- data/lib/rubocop/cop/style/random_with_offset.rb +1 -0
- data/lib/rubocop/cop/style/redundant_begin.rb +13 -0
- data/lib/rubocop/cop/style/redundant_conditional.rb +1 -0
- data/lib/rubocop/cop/style/redundant_parentheses.rb +6 -1
- data/lib/rubocop/cop/style/redundant_return.rb +1 -0
- data/lib/rubocop/cop/style/rescue_modifier.rb +1 -0
- data/lib/rubocop/cop/style/rescue_standard_error.rb +1 -0
- data/lib/rubocop/cop/style/safe_navigation.rb +4 -0
- data/lib/rubocop/cop/style/semicolon.rb +4 -0
- data/lib/rubocop/cop/style/signal_exception.rb +1 -0
- data/lib/rubocop/cop/style/string_hash_keys.rb +1 -0
- data/lib/rubocop/cop/style/symbol_proc.rb +1 -8
- data/lib/rubocop/cop/style/trailing_comma_in_array_literal.rb +1 -0
- data/lib/rubocop/cop/style/trailing_method_end_statement.rb +1 -0
- data/lib/rubocop/cop/style/trailing_underscore_variable.rb +1 -0
- data/lib/rubocop/cop/style/unneeded_condition.rb +13 -2
- data/lib/rubocop/cop/style/unneeded_percent_q.rb +2 -0
- data/lib/rubocop/cop/style/word_array.rb +13 -1
- data/lib/rubocop/cop/team.rb +1 -0
- data/lib/rubocop/cop/variable_force.rb +5 -0
- data/lib/rubocop/cop/variable_force/assignment.rb +4 -0
- data/lib/rubocop/cop/variable_force/branch.rb +4 -0
- data/lib/rubocop/cop/variable_force/branchable.rb +2 -0
- data/lib/rubocop/cop/variable_force/scope.rb +6 -0
- data/lib/rubocop/cop/variable_force/variable_table.rb +1 -0
- data/lib/rubocop/file_finder.rb +2 -0
- data/lib/rubocop/formatter/disabled_config_formatter.rb +4 -4
- data/lib/rubocop/formatter/file_list_formatter.rb +1 -0
- data/lib/rubocop/formatter/simple_text_formatter.rb +1 -0
- data/lib/rubocop/options.rb +16 -0
- data/lib/rubocop/path_util.rb +16 -1
- data/lib/rubocop/processed_source.rb +4 -0
- data/lib/rubocop/remote_config.rb +6 -1
- data/lib/rubocop/result_cache.rb +1 -0
- data/lib/rubocop/rspec/cop_helper.rb +3 -5
- data/lib/rubocop/rspec/shared_examples.rb +1 -9
- data/lib/rubocop/runner.rb +4 -0
- data/lib/rubocop/target_finder.rb +2 -0
- data/lib/rubocop/version.rb +1 -1
- metadata +7 -2
data/lib/rubocop/path_util.rb
CHANGED
@@ -36,12 +36,14 @@ module RuboCop
|
|
36
36
|
def match_path?(pattern, path)
|
37
37
|
case pattern
|
38
38
|
when String
|
39
|
-
File.fnmatch?(pattern, path, File::FNM_PATHNAME | File::FNM_EXTGLOB)
|
39
|
+
File.fnmatch?(pattern, path, File::FNM_PATHNAME | File::FNM_EXTGLOB) ||
|
40
|
+
hidden_file_in_not_hidden_dir?(pattern, path)
|
40
41
|
when Regexp
|
41
42
|
begin
|
42
43
|
path =~ pattern
|
43
44
|
rescue ArgumentError => e
|
44
45
|
return false if e.message.start_with?('invalid byte sequence')
|
46
|
+
|
45
47
|
raise e
|
46
48
|
end
|
47
49
|
end
|
@@ -59,5 +61,18 @@ module RuboCop
|
|
59
61
|
def self.reset_pwd
|
60
62
|
@pwd = nil
|
61
63
|
end
|
64
|
+
|
65
|
+
def hidden_file_in_not_hidden_dir?(pattern, path)
|
66
|
+
File.fnmatch?(
|
67
|
+
pattern, path,
|
68
|
+
File::FNM_PATHNAME | File::FNM_EXTGLOB | File::FNM_DOTMATCH
|
69
|
+
) && File.basename(path).start_with?('.') && !hidden_dir?(path)
|
70
|
+
end
|
71
|
+
|
72
|
+
def hidden_dir?(path)
|
73
|
+
File.dirname(path).split(File::SEPARATOR).any? do |dir|
|
74
|
+
dir.start_with?('.')
|
75
|
+
end
|
76
|
+
end
|
62
77
|
end
|
63
78
|
end
|
@@ -46,6 +46,7 @@ module RuboCop
|
|
46
46
|
|
47
47
|
def ast_with_comments
|
48
48
|
return if !ast || !comments
|
49
|
+
|
49
50
|
@ast_with_comments ||= Parser::Source::Comment.associate(ast, comments)
|
50
51
|
end
|
51
52
|
|
@@ -58,6 +59,7 @@ module RuboCop
|
|
58
59
|
result = []
|
59
60
|
all_lines.each_with_index do |line, ix|
|
60
61
|
break if ix >= last_token_line && line == '__END__'
|
62
|
+
|
61
63
|
result << line
|
62
64
|
end
|
63
65
|
result
|
@@ -70,6 +72,7 @@ module RuboCop
|
|
70
72
|
|
71
73
|
def valid_syntax?
|
72
74
|
return false if @parser_error
|
75
|
+
|
73
76
|
@diagnostics.none? { |d| %i[error fatal].include?(d.level) }
|
74
77
|
end
|
75
78
|
|
@@ -112,6 +115,7 @@ module RuboCop
|
|
112
115
|
|
113
116
|
def start_with?(string)
|
114
117
|
return false if self[0].nil?
|
118
|
+
|
115
119
|
self[0].start_with?(string)
|
116
120
|
end
|
117
121
|
|
@@ -21,6 +21,7 @@ module RuboCop
|
|
21
21
|
request do |response|
|
22
22
|
next if response.is_a?(Net::HTTPNotModified)
|
23
23
|
next if response.is_a?(SocketError)
|
24
|
+
|
24
25
|
File.open cache_path, 'w' do |io|
|
25
26
|
io.write response.body
|
26
27
|
end
|
@@ -60,7 +61,11 @@ module RuboCop
|
|
60
61
|
when Net::HTTPRedirection
|
61
62
|
request(URI.parse(response['location']), limit - 1, &block)
|
62
63
|
else
|
63
|
-
|
64
|
+
begin
|
65
|
+
response.error!
|
66
|
+
rescue StandardError => e
|
67
|
+
raise e, "#{e.message} while downloading remote config file #{uri}"
|
68
|
+
end
|
64
69
|
end
|
65
70
|
end
|
66
71
|
|
data/lib/rubocop/result_cache.rb
CHANGED
@@ -18,6 +18,7 @@ module RuboCop
|
|
18
18
|
# there's parallel execution and the cache is shared.
|
19
19
|
def self.cleanup(config_store, verbose, cache_root = nil)
|
20
20
|
return if inhibit_cleanup # OPTIMIZE: For faster testing
|
21
|
+
|
21
22
|
cache_root ||= cache_root(config_store)
|
22
23
|
return unless File.exist?(cache_root)
|
23
24
|
|
@@ -15,19 +15,15 @@ module CopHelper
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def inspect_source(source, file = nil)
|
18
|
-
if source.is_a?(Array) && source.size == 1
|
19
|
-
raise "Don't use an array for a single line of code: #{source}"
|
20
|
-
end
|
21
18
|
RuboCop::Formatter::DisabledConfigFormatter.config_to_allow_offenses = {}
|
22
19
|
RuboCop::Formatter::DisabledConfigFormatter.detected_styles = {}
|
23
20
|
processed_source = parse_source(source, file)
|
24
21
|
raise 'Error parsing example code' unless processed_source.valid_syntax?
|
22
|
+
|
25
23
|
_investigate(cop, processed_source)
|
26
24
|
end
|
27
25
|
|
28
26
|
def parse_source(source, file = nil)
|
29
|
-
source = source.join($RS) if source.is_a?(Array)
|
30
|
-
|
31
27
|
if file && file.respond_to?(:write)
|
32
28
|
file.write(source)
|
33
29
|
file.rewind
|
@@ -56,6 +52,7 @@ module CopHelper
|
|
56
52
|
cop.instance_variable_set(:@corrections, [])
|
57
53
|
new_source = autocorrect_source(source, file)
|
58
54
|
return new_source if new_source == source
|
55
|
+
|
59
56
|
source = new_source
|
60
57
|
end
|
61
58
|
end
|
@@ -63,6 +60,7 @@ module CopHelper
|
|
63
60
|
def _investigate(cop, processed_source)
|
64
61
|
forces = RuboCop::Cop::Force.all.each_with_object([]) do |klass, instances|
|
65
62
|
next unless cop.join_force?(klass)
|
63
|
+
|
66
64
|
instances << klass.new([cop])
|
67
65
|
end
|
68
66
|
|
@@ -2,13 +2,6 @@
|
|
2
2
|
|
3
3
|
# `cop` and `source` must be declared with #let.
|
4
4
|
|
5
|
-
shared_examples_for 'accepts' do
|
6
|
-
it 'accepts' do
|
7
|
-
inspect_source(source)
|
8
|
-
expect(cop.offenses).to be_empty
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
5
|
shared_examples_for 'misaligned' do |annotated_source, used_style|
|
13
6
|
config_to_allow_offenses = if used_style
|
14
7
|
{ 'EnforcedStyleAlignWith' => used_style.to_s }
|
@@ -42,8 +35,7 @@ shared_examples_for 'aligned' do |alignment_base, arg, end_kw, name|
|
|
42
35
|
name ||= alignment_base
|
43
36
|
name = name.gsub(/\n/, ' <newline>')
|
44
37
|
it "accepts matching #{name} ... end" do
|
45
|
-
inspect_source(
|
46
|
-
end_kw])
|
38
|
+
inspect_source("#{alignment_base} #{arg}\n#{end_kw}")
|
47
39
|
expect(cop.offenses).to be_empty
|
48
40
|
end
|
49
41
|
end
|
data/lib/rubocop/runner.rb
CHANGED
@@ -80,6 +80,7 @@ module RuboCop
|
|
80
80
|
|
81
81
|
if offenses.any? { |o| considered_failure?(o) }
|
82
82
|
break false if @options[:fail_fast]
|
83
|
+
|
83
84
|
next false
|
84
85
|
end
|
85
86
|
|
@@ -98,6 +99,9 @@ module RuboCop
|
|
98
99
|
file_started(file)
|
99
100
|
|
100
101
|
offenses = file_offenses(file)
|
102
|
+
if @options[:display_only_fail_level_offenses]
|
103
|
+
offenses = offenses.select { |o| considered_failure?(o) }
|
104
|
+
end
|
101
105
|
formatter_set.file_finished(file, offenses)
|
102
106
|
offenses
|
103
107
|
rescue InfiniteCorrectionLoop => e
|
@@ -74,6 +74,7 @@ module RuboCop
|
|
74
74
|
def to_inspect?(file, hidden_files, base_dir_config)
|
75
75
|
return false if base_dir_config.file_to_exclude?(file)
|
76
76
|
return true if !hidden_files.include?(file) && ruby_file?(file)
|
77
|
+
|
77
78
|
base_dir_config.file_to_include?(file)
|
78
79
|
end
|
79
80
|
|
@@ -141,6 +142,7 @@ module RuboCop
|
|
141
142
|
|
142
143
|
def ruby_executable?(file)
|
143
144
|
return false unless File.extname(file).empty? && File.exist?(file)
|
145
|
+
|
144
146
|
first_line = File.open(file, &:readline)
|
145
147
|
!(first_line =~ /#!.*(#{ruby_interpreters(file).join('|')})/).nil?
|
146
148
|
rescue EOFError, ArgumentError => e
|
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.59.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.59.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-09-09 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: jaro_winkler
|
@@ -186,6 +186,7 @@ files:
|
|
186
186
|
- lib/rubocop/ast/node/block_node.rb
|
187
187
|
- lib/rubocop/ast/node/case_node.rb
|
188
188
|
- lib/rubocop/ast/node/def_node.rb
|
189
|
+
- lib/rubocop/ast/node/defined_node.rb
|
189
190
|
- lib/rubocop/ast/node/ensure_node.rb
|
190
191
|
- lib/rubocop/ast/node/for_node.rb
|
191
192
|
- lib/rubocop/ast/node/hash_node.rb
|
@@ -225,6 +226,7 @@ files:
|
|
225
226
|
- lib/rubocop/cop/autocorrect_logic.rb
|
226
227
|
- lib/rubocop/cop/badge.rb
|
227
228
|
- lib/rubocop/cop/bundler/duplicated_gem.rb
|
229
|
+
- lib/rubocop/cop/bundler/gem_comment.rb
|
228
230
|
- lib/rubocop/cop/bundler/insecure_protocol_source.rb
|
229
231
|
- lib/rubocop/cop/bundler/ordered_gems.rb
|
230
232
|
- lib/rubocop/cop/commissioner.rb
|
@@ -446,6 +448,7 @@ files:
|
|
446
448
|
- lib/rubocop/cop/mixin/frozen_string_literal.rb
|
447
449
|
- lib/rubocop/cop/mixin/hash_alignment.rb
|
448
450
|
- lib/rubocop/cop/mixin/heredoc.rb
|
451
|
+
- lib/rubocop/cop/mixin/ignored_methods.rb
|
449
452
|
- lib/rubocop/cop/mixin/ignored_pattern.rb
|
450
453
|
- lib/rubocop/cop/mixin/integer_node.rb
|
451
454
|
- lib/rubocop/cop/mixin/match_range.rb
|
@@ -499,6 +502,7 @@ files:
|
|
499
502
|
- lib/rubocop/cop/performance/caller.rb
|
500
503
|
- lib/rubocop/cop/performance/case_when_splat.rb
|
501
504
|
- lib/rubocop/cop/performance/casecmp.rb
|
505
|
+
- lib/rubocop/cop/performance/chain_array_allocation.rb
|
502
506
|
- lib/rubocop/cop/performance/compare_with_block.rb
|
503
507
|
- lib/rubocop/cop/performance/count.rb
|
504
508
|
- lib/rubocop/cop/performance/detect.rb
|
@@ -656,6 +660,7 @@ files:
|
|
656
660
|
- lib/rubocop/cop/style/multiline_if_modifier.rb
|
657
661
|
- lib/rubocop/cop/style/multiline_if_then.rb
|
658
662
|
- lib/rubocop/cop/style/multiline_memoization.rb
|
663
|
+
- lib/rubocop/cop/style/multiline_method_signature.rb
|
659
664
|
- lib/rubocop/cop/style/multiline_ternary_operator.rb
|
660
665
|
- lib/rubocop/cop/style/multiple_comparison.rb
|
661
666
|
- lib/rubocop/cop/style/mutable_constant.rb
|