rubocop 0.88.0 → 0.89.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 +1 -1
- data/bin/rubocop-profile +1 -0
- data/config/default.yml +96 -16
- data/lib/rubocop.rb +16 -4
- data/lib/rubocop/cli/command/auto_genenerate_config.rb +1 -1
- data/lib/rubocop/cli/command/base.rb +1 -0
- data/lib/rubocop/cli/command/execute_runner.rb +1 -1
- data/lib/rubocop/cli/command/show_cops.rb +1 -1
- data/lib/rubocop/cli/command/version.rb +2 -2
- data/lib/rubocop/comment_config.rb +2 -2
- data/lib/rubocop/config.rb +19 -2
- data/lib/rubocop/config_loader.rb +1 -1
- data/lib/rubocop/config_loader_resolver.rb +3 -3
- data/lib/rubocop/config_obsoletion.rb +6 -1
- data/lib/rubocop/config_validator.rb +1 -3
- data/lib/rubocop/cop/base.rb +2 -2
- data/lib/rubocop/cop/commissioner.rb +0 -1
- data/lib/rubocop/cop/correctors/line_break_corrector.rb +3 -3
- data/lib/rubocop/cop/correctors/percent_literal_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/punctuation_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/unused_arg_corrector.rb +15 -18
- data/lib/rubocop/cop/force.rb +1 -0
- data/lib/rubocop/cop/gemspec/required_ruby_version.rb +32 -11
- data/lib/rubocop/cop/generator/configuration_injector.rb +2 -2
- data/lib/rubocop/cop/internal_affairs/method_name_equal.rb +4 -12
- data/lib/rubocop/cop/internal_affairs/node_destructuring.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +8 -8
- data/lib/rubocop/cop/internal_affairs/redundant_location_argument.rb +10 -7
- data/lib/rubocop/cop/internal_affairs/redundant_message_argument.rb +7 -8
- data/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +2 -2
- data/lib/rubocop/cop/layout/block_alignment.rb +1 -1
- data/lib/rubocop/cop/layout/empty_lines.rb +0 -2
- data/lib/rubocop/cop/layout/extra_spacing.rb +9 -16
- data/lib/rubocop/cop/layout/first_method_argument_line_break.rb +1 -1
- data/lib/rubocop/cop/layout/heredoc_indentation.rb +2 -2
- data/lib/rubocop/cop/layout/indentation_style.rb +0 -2
- data/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +1 -1
- data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +0 -2
- data/lib/rubocop/cop/layout/space_around_method_call_operator.rb +9 -1
- data/lib/rubocop/cop/lint/ambiguous_block_association.rb +7 -4
- data/lib/rubocop/cop/lint/ambiguous_operator.rb +15 -10
- data/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +11 -13
- data/lib/rubocop/cop/lint/assignment_in_condition.rb +2 -2
- data/lib/rubocop/cop/lint/big_decimal_new.rb +10 -10
- data/lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb +49 -0
- data/lib/rubocop/cop/lint/boolean_symbol.rb +16 -11
- data/lib/rubocop/cop/lint/circular_argument_reference.rb +1 -1
- data/lib/rubocop/cop/lint/constant_resolution.rb +1 -1
- data/lib/rubocop/cop/lint/debugger.rb +7 -1
- data/lib/rubocop/cop/lint/deprecated_class_methods.rb +9 -10
- data/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +17 -13
- data/lib/rubocop/cop/lint/duplicate_case_condition.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_hash_key.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_methods.rb +7 -4
- data/lib/rubocop/cop/lint/duplicate_rescue_exception.rb +60 -0
- data/lib/rubocop/cop/lint/each_with_object_argument.rb +1 -1
- data/lib/rubocop/cop/lint/else_layout.rb +1 -1
- data/lib/rubocop/cop/lint/empty_conditional_body.rb +67 -0
- data/lib/rubocop/cop/lint/empty_ensure.rb +5 -5
- data/lib/rubocop/cop/lint/empty_expression.rb +2 -2
- data/lib/rubocop/cop/lint/empty_interpolation.rb +5 -6
- data/lib/rubocop/cop/lint/empty_when.rb +2 -2
- data/lib/rubocop/cop/lint/ensure_return.rb +27 -29
- data/lib/rubocop/cop/lint/erb_new_arguments.rb +11 -10
- data/lib/rubocop/cop/lint/flip_flop.rb +1 -1
- data/lib/rubocop/cop/lint/float_comparison.rb +93 -0
- data/lib/rubocop/cop/lint/float_out_of_range.rb +1 -1
- data/lib/rubocop/cop/lint/format_parameter_mismatch.rb +5 -4
- data/lib/rubocop/cop/lint/heredoc_method_call_position.rb +13 -14
- data/lib/rubocop/cop/lint/implicit_string_concatenation.rb +2 -2
- data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +8 -8
- data/lib/rubocop/cop/lint/inherit_exception.rb +12 -7
- data/lib/rubocop/cop/lint/interpolation_check.rb +18 -15
- data/lib/rubocop/cop/lint/literal_as_condition.rb +4 -2
- data/lib/rubocop/cop/lint/literal_in_interpolation.rb +7 -7
- data/lib/rubocop/cop/lint/loop.rb +23 -2
- data/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +6 -5
- data/lib/rubocop/cop/lint/missing_super.rb +99 -0
- data/lib/rubocop/cop/lint/mixed_regexp_capture_types.rb +1 -1
- data/lib/rubocop/cop/lint/multiple_comparison.rb +6 -9
- data/lib/rubocop/cop/lint/nested_method_definition.rb +1 -1
- data/lib/rubocop/cop/lint/nested_percent_literal.rb +1 -1
- data/lib/rubocop/cop/lint/next_without_accumulator.rb +1 -1
- data/lib/rubocop/cop/lint/non_deterministic_require_order.rb +27 -23
- data/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +2 -2
- data/lib/rubocop/cop/lint/number_conversion.rb +6 -9
- data/lib/rubocop/cop/lint/ordered_magic_comments.rb +11 -13
- data/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +61 -0
- data/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +4 -10
- data/lib/rubocop/cop/lint/percent_string_array.rb +13 -12
- data/lib/rubocop/cop/lint/percent_symbol_array.rb +13 -12
- data/lib/rubocop/cop/lint/raise_exception.rb +12 -10
- data/lib/rubocop/cop/lint/rand_one.rb +2 -2
- data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +2 -2
- data/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +7 -11
- data/lib/rubocop/cop/lint/redundant_require_statement.rb +4 -7
- data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +13 -9
- data/lib/rubocop/cop/lint/redundant_string_coercion.rb +6 -13
- data/lib/rubocop/cop/lint/redundant_with_index.rb +11 -14
- data/lib/rubocop/cop/lint/redundant_with_object.rb +11 -14
- data/lib/rubocop/cop/lint/regexp_as_condition.rb +4 -6
- data/lib/rubocop/cop/lint/require_parentheses.rb +2 -2
- data/lib/rubocop/cop/lint/rescue_exception.rb +1 -1
- data/lib/rubocop/cop/lint/rescue_type.rb +8 -8
- data/lib/rubocop/cop/lint/return_in_void_context.rb +2 -4
- data/lib/rubocop/cop/lint/safe_navigation_chain.rb +3 -6
- data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +14 -10
- data/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +7 -7
- data/lib/rubocop/cop/lint/script_permission.rb +10 -7
- data/lib/rubocop/cop/lint/self_assignment.rb +78 -0
- data/lib/rubocop/cop/lint/send_with_mixin_argument.rb +5 -11
- data/lib/rubocop/cop/lint/shadowed_argument.rb +3 -3
- data/lib/rubocop/cop/lint/shadowed_exception.rb +2 -2
- data/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +3 -3
- data/lib/rubocop/cop/lint/struct_new_override.rb +1 -1
- data/lib/rubocop/cop/lint/suppressed_exception.rb +4 -7
- data/lib/rubocop/cop/lint/to_json.rb +4 -6
- data/lib/rubocop/cop/lint/top_level_return_with_argument.rb +34 -0
- data/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +4 -4
- data/lib/rubocop/cop/lint/unified_integer.rb +4 -6
- data/lib/rubocop/cop/lint/unreachable_code.rb +1 -1
- data/lib/rubocop/cop/lint/unreachable_loop.rb +174 -0
- data/lib/rubocop/cop/lint/unused_block_argument.rb +8 -3
- data/lib/rubocop/cop/lint/unused_method_argument.rb +8 -3
- data/lib/rubocop/cop/lint/uri_escape_unescape.rb +1 -1
- data/lib/rubocop/cop/lint/uri_regexp.rb +11 -31
- data/lib/rubocop/cop/lint/useless_access_modifier.rb +25 -15
- data/lib/rubocop/cop/lint/useless_assignment.rb +4 -4
- data/lib/rubocop/cop/lint/useless_else_without_rescue.rb +6 -15
- data/lib/rubocop/cop/lint/useless_setter_call.rb +4 -6
- data/lib/rubocop/cop/lint/void.rb +3 -7
- data/lib/rubocop/cop/metrics/abc_size.rb +1 -1
- data/lib/rubocop/cop/metrics/block_length.rb +2 -2
- data/lib/rubocop/cop/metrics/block_nesting.rb +2 -2
- data/lib/rubocop/cop/metrics/class_length.rb +2 -2
- data/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +2 -1
- data/lib/rubocop/cop/metrics/method_length.rb +2 -2
- data/lib/rubocop/cop/metrics/module_length.rb +2 -2
- data/lib/rubocop/cop/metrics/parameter_lists.rb +2 -6
- data/lib/rubocop/cop/metrics/perceived_complexity.rb +7 -8
- data/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +48 -5
- data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +52 -24
- data/lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb +37 -0
- data/lib/rubocop/cop/migration/department_name.rb +13 -15
- data/lib/rubocop/cop/mixin/array_min_size.rb +1 -1
- data/lib/rubocop/cop/mixin/check_line_breakable.rb +1 -1
- data/lib/rubocop/cop/mixin/code_length.rb +22 -5
- data/lib/rubocop/cop/mixin/enforce_superclass.rb +2 -0
- data/lib/rubocop/cop/mixin/method_complexity.rb +10 -2
- data/lib/rubocop/cop/mixin/statement_modifier.rb +35 -6
- data/lib/rubocop/cop/mixin/surrounding_space.rb +0 -25
- data/lib/rubocop/cop/mixin/uncommunicative_name.rb +6 -13
- data/lib/rubocop/cop/mixin/unused_argument.rb +4 -6
- data/lib/rubocop/cop/naming/accessor_method_name.rb +4 -2
- data/lib/rubocop/cop/naming/ascii_identifiers.rb +3 -3
- data/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +1 -1
- data/lib/rubocop/cop/naming/block_parameter_name.rb +1 -1
- data/lib/rubocop/cop/naming/class_and_module_camel_case.rb +2 -2
- data/lib/rubocop/cop/naming/constant_name.rb +2 -2
- data/lib/rubocop/cop/naming/file_name.rb +3 -3
- data/lib/rubocop/cop/naming/heredoc_delimiter_case.rb +2 -2
- data/lib/rubocop/cop/naming/heredoc_delimiter_naming.rb +2 -2
- data/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +2 -2
- data/lib/rubocop/cop/naming/method_parameter_name.rb +1 -1
- data/lib/rubocop/cop/naming/predicate_name.rb +3 -5
- data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +12 -11
- data/lib/rubocop/cop/registry.rb +3 -3
- data/lib/rubocop/cop/security/eval.rb +2 -2
- data/lib/rubocop/cop/security/json_load.rb +6 -8
- data/lib/rubocop/cop/security/marshal_load.rb +2 -4
- data/lib/rubocop/cop/security/open.rb +2 -2
- data/lib/rubocop/cop/security/yaml_load.rb +6 -6
- data/lib/rubocop/cop/style/access_modifier_declarations.rb +11 -1
- data/lib/rubocop/cop/style/accessor_grouping.rb +9 -7
- data/lib/rubocop/cop/style/alias.rb +7 -3
- data/lib/rubocop/cop/style/bisected_attr_accessor.rb +0 -2
- data/lib/rubocop/cop/style/case_equality.rb +22 -3
- data/lib/rubocop/cop/style/case_like_if.rb +2 -2
- data/lib/rubocop/cop/style/colon_method_call.rb +3 -3
- data/lib/rubocop/cop/style/conditional_assignment.rb +11 -2
- data/lib/rubocop/cop/style/documentation.rb +4 -4
- data/lib/rubocop/cop/style/each_with_object.rb +0 -2
- data/lib/rubocop/cop/style/empty_method.rb +5 -5
- data/lib/rubocop/cop/style/eval_with_location.rb +4 -0
- data/lib/rubocop/cop/style/expand_path_arguments.rb +4 -0
- data/lib/rubocop/cop/style/explicit_block_argument.rb +102 -0
- data/lib/rubocop/cop/style/format_string.rb +4 -0
- data/lib/rubocop/cop/style/format_string_token.rb +1 -0
- data/lib/rubocop/cop/style/global_std_stream.rb +65 -0
- data/lib/rubocop/cop/style/guard_clause.rb +2 -2
- data/lib/rubocop/cop/style/hash_as_last_array_item.rb +8 -1
- data/lib/rubocop/cop/style/hash_syntax.rb +6 -3
- data/lib/rubocop/cop/style/identical_conditional_branches.rb +1 -1
- data/lib/rubocop/cop/style/if_inside_else.rb +1 -1
- data/lib/rubocop/cop/style/if_unless_modifier.rb +0 -20
- data/lib/rubocop/cop/style/infinite_loop.rb +1 -1
- data/lib/rubocop/cop/style/inverse_methods.rb +2 -3
- data/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +5 -0
- data/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +1 -1
- data/lib/rubocop/cop/style/missing_respond_to_missing.rb +9 -2
- data/lib/rubocop/cop/style/multiline_memoization.rb +2 -2
- data/lib/rubocop/cop/style/multiline_method_signature.rb +1 -1
- data/lib/rubocop/cop/style/numeric_predicate.rb +4 -0
- data/lib/rubocop/cop/style/optional_boolean_parameter.rb +42 -0
- data/lib/rubocop/cop/style/parallel_assignment.rb +2 -2
- data/lib/rubocop/cop/style/percent_literal_delimiters.rb +2 -2
- data/lib/rubocop/cop/style/random_with_offset.rb +1 -0
- data/lib/rubocop/cop/style/redundant_condition.rb +15 -3
- data/lib/rubocop/cop/style/redundant_exception.rb +4 -0
- data/lib/rubocop/cop/style/redundant_regexp_escape.rb +9 -9
- data/lib/rubocop/cop/style/redundant_sort.rb +25 -10
- data/lib/rubocop/cop/style/signal_exception.rb +2 -0
- data/lib/rubocop/cop/style/single_argument_dig.rb +54 -0
- data/lib/rubocop/cop/style/string_concatenation.rb +92 -0
- data/lib/rubocop/cop/style/struct_inheritance.rb +1 -1
- data/lib/rubocop/cop/style/symbol_array.rb +1 -1
- data/lib/rubocop/cop/style/symbol_proc.rb +1 -1
- data/lib/rubocop/cop/style/trailing_method_end_statement.rb +1 -1
- data/lib/rubocop/cop/style/zero_length_predicate.rb +10 -6
- data/lib/rubocop/cop/team.rb +1 -1
- data/lib/rubocop/cop/tokens_util.rb +84 -0
- data/lib/rubocop/cop/util.rb +1 -13
- data/lib/rubocop/cop/variable_force.rb +0 -2
- data/lib/rubocop/cop/variable_force/branch.rb +1 -0
- data/lib/rubocop/cop/variable_force/variable.rb +2 -2
- data/lib/rubocop/cops_documentation_generator.rb +282 -0
- data/lib/rubocop/error.rb +1 -0
- data/lib/rubocop/formatter/formatter_set.rb +1 -0
- data/lib/rubocop/path_util.rb +19 -4
- data/lib/rubocop/rake_task.rb +1 -0
- data/lib/rubocop/rspec/expect_offense.rb +1 -1
- data/lib/rubocop/target_finder.rb +12 -9
- data/lib/rubocop/version.rb +2 -2
- metadata +19 -6
- data/lib/rubocop/cop/lint/useless_comparison.rb +0 -28
- data/lib/rubocop/cop/mixin/parser_diagnostic.rb +0 -37
- data/lib/rubocop/cop/mixin/too_many_lines.rb +0 -25
- data/lib/rubocop/cop/style/method_missing_super.rb +0 -34
data/lib/rubocop/error.rb
CHANGED
@@ -12,6 +12,7 @@ module RuboCop
|
|
12
12
|
# A wrapper to display errored location of analyzed file.
|
13
13
|
class ErrorWithAnalyzedFileLocation < Error
|
14
14
|
def initialize(cause:, node:, cop:)
|
15
|
+
super()
|
15
16
|
@cause = cause
|
16
17
|
@cop = cop
|
17
18
|
@location = node.is_a?(RuboCop::AST::Node) ? node.loc : node
|
data/lib/rubocop/path_util.rb
CHANGED
@@ -55,10 +55,25 @@ module RuboCop
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def hidden_file_in_not_hidden_dir?(pattern, path)
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
58
|
+
hidden_file?(path) &&
|
59
|
+
File.fnmatch?(
|
60
|
+
pattern, path,
|
61
|
+
File::FNM_PATHNAME | File::FNM_EXTGLOB | File::FNM_DOTMATCH
|
62
|
+
) &&
|
63
|
+
!hidden_dir?(path)
|
64
|
+
end
|
65
|
+
|
66
|
+
def hidden_file?(path)
|
67
|
+
maybe_hidden_file?(path) && File.basename(path).start_with?('.')
|
68
|
+
end
|
69
|
+
|
70
|
+
# Loose check to reduce memory allocations
|
71
|
+
def maybe_hidden_file?(path)
|
72
|
+
separator_index = path.rindex(File::SEPARATOR)
|
73
|
+
return false unless separator_index
|
74
|
+
|
75
|
+
dot_index = path.index('.', separator_index + 1)
|
76
|
+
dot_index == separator_index + 1
|
62
77
|
end
|
63
78
|
|
64
79
|
def hidden_dir?(path)
|
data/lib/rubocop/rake_task.rb
CHANGED
@@ -15,6 +15,7 @@ module RuboCop
|
|
15
15
|
attr_accessor :name, :verbose, :fail_on_error, :patterns, :formatters, :requires, :options
|
16
16
|
|
17
17
|
def initialize(name = :rubocop, *args, &task_block)
|
18
|
+
super()
|
18
19
|
setup_ivars(name)
|
19
20
|
|
20
21
|
desc 'Run RuboCop' unless ::Rake.application.last_description
|
@@ -134,7 +134,7 @@ module RuboCop
|
|
134
134
|
actual_annotations =
|
135
135
|
expected_annotations.with_offense_annotations(offenses)
|
136
136
|
|
137
|
-
expect(actual_annotations).to eq(expected_annotations)
|
137
|
+
expect(actual_annotations).to eq(expected_annotations), ''
|
138
138
|
expect(offenses.map(&:severity).uniq).to eq([severity]) if severity
|
139
139
|
end
|
140
140
|
|
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'set'
|
4
|
-
|
5
3
|
module RuboCop
|
6
4
|
# This class finds target files to inspect by scanning the directory tree
|
7
5
|
# and picking ruby files.
|
@@ -114,10 +112,12 @@ module RuboCop
|
|
114
112
|
end
|
115
113
|
|
116
114
|
def ruby_extensions
|
117
|
-
|
118
|
-
pattern
|
115
|
+
@ruby_extensions ||= begin
|
116
|
+
ext_patterns = all_cops_include.select do |pattern|
|
117
|
+
pattern.start_with?('**/*.')
|
118
|
+
end
|
119
|
+
ext_patterns.map { |pattern| pattern.sub('**/*', '') }
|
119
120
|
end
|
120
|
-
ext_patterns.map { |pattern| pattern.sub('**/*', '') }
|
121
121
|
end
|
122
122
|
|
123
123
|
def ruby_filename?(file)
|
@@ -125,14 +125,17 @@ module RuboCop
|
|
125
125
|
end
|
126
126
|
|
127
127
|
def ruby_filenames
|
128
|
-
|
129
|
-
pattern
|
128
|
+
@ruby_filenames ||= begin
|
129
|
+
file_patterns = all_cops_include.reject do |pattern|
|
130
|
+
pattern.start_with?('**/*.')
|
131
|
+
end
|
132
|
+
file_patterns.map { |pattern| pattern.sub('**/', '') }
|
130
133
|
end
|
131
|
-
file_patterns.map { |pattern| pattern.sub('**/', '') }
|
132
134
|
end
|
133
135
|
|
134
136
|
def all_cops_include
|
135
|
-
@
|
137
|
+
@all_cops_include ||=
|
138
|
+
@config_store.for_pwd.for_all_cops['Include'].map(&:to_s)
|
136
139
|
end
|
137
140
|
|
138
141
|
def ruby_executable?(file)
|
data/lib/rubocop/version.rb
CHANGED
@@ -3,13 +3,13 @@
|
|
3
3
|
module RuboCop
|
4
4
|
# This module holds the RuboCop version information.
|
5
5
|
module Version
|
6
|
-
STRING = '0.
|
6
|
+
STRING = '0.89.0'
|
7
7
|
|
8
8
|
MSG = '%<version>s (using Parser %<parser_version>s, '\
|
9
9
|
'rubocop-ast %<rubocop_ast_version>s, ' \
|
10
10
|
'running on %<ruby_engine>s %<ruby_version>s %<ruby_platform>s)'
|
11
11
|
|
12
|
-
def self.version(debug
|
12
|
+
def self.version(debug: false)
|
13
13
|
if debug
|
14
14
|
format(MSG, version: STRING, parser_version: Parser::VERSION,
|
15
15
|
rubocop_ast_version: RuboCop::AST::Version::STRING,
|
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.89.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: 2020-
|
13
|
+
date: 2020-08-05 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: parallel
|
@@ -340,6 +340,7 @@ files:
|
|
340
340
|
- lib/rubocop/cop/lint/ambiguous_regexp_literal.rb
|
341
341
|
- lib/rubocop/cop/lint/assignment_in_condition.rb
|
342
342
|
- lib/rubocop/cop/lint/big_decimal_new.rb
|
343
|
+
- lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb
|
343
344
|
- lib/rubocop/cop/lint/boolean_symbol.rb
|
344
345
|
- lib/rubocop/cop/lint/circular_argument_reference.rb
|
345
346
|
- lib/rubocop/cop/lint/constant_resolution.rb
|
@@ -351,8 +352,10 @@ files:
|
|
351
352
|
- lib/rubocop/cop/lint/duplicate_elsif_condition.rb
|
352
353
|
- lib/rubocop/cop/lint/duplicate_hash_key.rb
|
353
354
|
- lib/rubocop/cop/lint/duplicate_methods.rb
|
355
|
+
- lib/rubocop/cop/lint/duplicate_rescue_exception.rb
|
354
356
|
- lib/rubocop/cop/lint/each_with_object_argument.rb
|
355
357
|
- lib/rubocop/cop/lint/else_layout.rb
|
358
|
+
- lib/rubocop/cop/lint/empty_conditional_body.rb
|
356
359
|
- lib/rubocop/cop/lint/empty_ensure.rb
|
357
360
|
- lib/rubocop/cop/lint/empty_expression.rb
|
358
361
|
- lib/rubocop/cop/lint/empty_interpolation.rb
|
@@ -360,6 +363,7 @@ files:
|
|
360
363
|
- lib/rubocop/cop/lint/ensure_return.rb
|
361
364
|
- lib/rubocop/cop/lint/erb_new_arguments.rb
|
362
365
|
- lib/rubocop/cop/lint/flip_flop.rb
|
366
|
+
- lib/rubocop/cop/lint/float_comparison.rb
|
363
367
|
- lib/rubocop/cop/lint/float_out_of_range.rb
|
364
368
|
- lib/rubocop/cop/lint/format_parameter_mismatch.rb
|
365
369
|
- lib/rubocop/cop/lint/heredoc_method_call_position.rb
|
@@ -371,6 +375,7 @@ files:
|
|
371
375
|
- lib/rubocop/cop/lint/literal_in_interpolation.rb
|
372
376
|
- lib/rubocop/cop/lint/loop.rb
|
373
377
|
- lib/rubocop/cop/lint/missing_cop_enable_directive.rb
|
378
|
+
- lib/rubocop/cop/lint/missing_super.rb
|
374
379
|
- lib/rubocop/cop/lint/mixed_regexp_capture_types.rb
|
375
380
|
- lib/rubocop/cop/lint/multiple_comparison.rb
|
376
381
|
- lib/rubocop/cop/lint/nested_method_definition.rb
|
@@ -380,6 +385,7 @@ files:
|
|
380
385
|
- lib/rubocop/cop/lint/non_local_exit_from_iterator.rb
|
381
386
|
- lib/rubocop/cop/lint/number_conversion.rb
|
382
387
|
- lib/rubocop/cop/lint/ordered_magic_comments.rb
|
388
|
+
- lib/rubocop/cop/lint/out_of_range_regexp_ref.rb
|
383
389
|
- lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb
|
384
390
|
- lib/rubocop/cop/lint/percent_string_array.rb
|
385
391
|
- lib/rubocop/cop/lint/percent_symbol_array.rb
|
@@ -401,6 +407,7 @@ files:
|
|
401
407
|
- lib/rubocop/cop/lint/safe_navigation_consistency.rb
|
402
408
|
- lib/rubocop/cop/lint/safe_navigation_with_empty.rb
|
403
409
|
- lib/rubocop/cop/lint/script_permission.rb
|
410
|
+
- lib/rubocop/cop/lint/self_assignment.rb
|
404
411
|
- lib/rubocop/cop/lint/send_with_mixin_argument.rb
|
405
412
|
- lib/rubocop/cop/lint/shadowed_argument.rb
|
406
413
|
- lib/rubocop/cop/lint/shadowed_exception.rb
|
@@ -409,16 +416,17 @@ files:
|
|
409
416
|
- lib/rubocop/cop/lint/suppressed_exception.rb
|
410
417
|
- lib/rubocop/cop/lint/syntax.rb
|
411
418
|
- lib/rubocop/cop/lint/to_json.rb
|
419
|
+
- lib/rubocop/cop/lint/top_level_return_with_argument.rb
|
412
420
|
- lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb
|
413
421
|
- lib/rubocop/cop/lint/unified_integer.rb
|
414
422
|
- lib/rubocop/cop/lint/unreachable_code.rb
|
423
|
+
- lib/rubocop/cop/lint/unreachable_loop.rb
|
415
424
|
- lib/rubocop/cop/lint/unused_block_argument.rb
|
416
425
|
- lib/rubocop/cop/lint/unused_method_argument.rb
|
417
426
|
- lib/rubocop/cop/lint/uri_escape_unescape.rb
|
418
427
|
- lib/rubocop/cop/lint/uri_regexp.rb
|
419
428
|
- lib/rubocop/cop/lint/useless_access_modifier.rb
|
420
429
|
- lib/rubocop/cop/lint/useless_assignment.rb
|
421
|
-
- lib/rubocop/cop/lint/useless_comparison.rb
|
422
430
|
- lib/rubocop/cop/lint/useless_else_without_rescue.rb
|
423
431
|
- lib/rubocop/cop/lint/useless_setter_call.rb
|
424
432
|
- lib/rubocop/cop/lint/void.rb
|
@@ -435,6 +443,7 @@ files:
|
|
435
443
|
- lib/rubocop/cop/metrics/utils/abc_size_calculator.rb
|
436
444
|
- lib/rubocop/cop/metrics/utils/code_length_calculator.rb
|
437
445
|
- lib/rubocop/cop/metrics/utils/iterating_block.rb
|
446
|
+
- lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb
|
438
447
|
- lib/rubocop/cop/migration/department_name.rb
|
439
448
|
- lib/rubocop/cop/mixin/alignment.rb
|
440
449
|
- lib/rubocop/cop/mixin/allowed_methods.rb
|
@@ -480,7 +489,6 @@ files:
|
|
480
489
|
- lib/rubocop/cop/mixin/on_normal_if_unless.rb
|
481
490
|
- lib/rubocop/cop/mixin/ordered_gem_node.rb
|
482
491
|
- lib/rubocop/cop/mixin/parentheses.rb
|
483
|
-
- lib/rubocop/cop/mixin/parser_diagnostic.rb
|
484
492
|
- lib/rubocop/cop/mixin/percent_array.rb
|
485
493
|
- lib/rubocop/cop/mixin/percent_literal.rb
|
486
494
|
- lib/rubocop/cop/mixin/preceding_following_alignment.rb
|
@@ -497,7 +505,6 @@ files:
|
|
497
505
|
- lib/rubocop/cop/mixin/string_literals_help.rb
|
498
506
|
- lib/rubocop/cop/mixin/surrounding_space.rb
|
499
507
|
- lib/rubocop/cop/mixin/target_ruby_version.rb
|
500
|
-
- lib/rubocop/cop/mixin/too_many_lines.rb
|
501
508
|
- lib/rubocop/cop/mixin/trailing_body.rb
|
502
509
|
- lib/rubocop/cop/mixin/trailing_comma.rb
|
503
510
|
- lib/rubocop/cop/mixin/uncommunicative_name.rb
|
@@ -578,12 +585,14 @@ files:
|
|
578
585
|
- lib/rubocop/cop/style/eval_with_location.rb
|
579
586
|
- lib/rubocop/cop/style/even_odd.rb
|
580
587
|
- lib/rubocop/cop/style/expand_path_arguments.rb
|
588
|
+
- lib/rubocop/cop/style/explicit_block_argument.rb
|
581
589
|
- lib/rubocop/cop/style/exponential_notation.rb
|
582
590
|
- lib/rubocop/cop/style/float_division.rb
|
583
591
|
- lib/rubocop/cop/style/for.rb
|
584
592
|
- lib/rubocop/cop/style/format_string.rb
|
585
593
|
- lib/rubocop/cop/style/format_string_token.rb
|
586
594
|
- lib/rubocop/cop/style/frozen_string_literal_comment.rb
|
595
|
+
- lib/rubocop/cop/style/global_std_stream.rb
|
587
596
|
- lib/rubocop/cop/style/global_vars.rb
|
588
597
|
- lib/rubocop/cop/style/guard_clause.rb
|
589
598
|
- lib/rubocop/cop/style/hash_as_last_array_item.rb
|
@@ -611,7 +620,6 @@ files:
|
|
611
620
|
- lib/rubocop/cop/style/method_call_without_args_parentheses.rb
|
612
621
|
- lib/rubocop/cop/style/method_called_on_do_end_block.rb
|
613
622
|
- lib/rubocop/cop/style/method_def_parentheses.rb
|
614
|
-
- lib/rubocop/cop/style/method_missing_super.rb
|
615
623
|
- lib/rubocop/cop/style/min_max.rb
|
616
624
|
- lib/rubocop/cop/style/missing_else.rb
|
617
625
|
- lib/rubocop/cop/style/missing_respond_to_missing.rb
|
@@ -643,6 +651,7 @@ files:
|
|
643
651
|
- lib/rubocop/cop/style/one_line_conditional.rb
|
644
652
|
- lib/rubocop/cop/style/option_hash.rb
|
645
653
|
- lib/rubocop/cop/style/optional_arguments.rb
|
654
|
+
- lib/rubocop/cop/style/optional_boolean_parameter.rb
|
646
655
|
- lib/rubocop/cop/style/or_assignment.rb
|
647
656
|
- lib/rubocop/cop/style/parallel_assignment.rb
|
648
657
|
- lib/rubocop/cop/style/parentheses_around_condition.rb
|
@@ -681,12 +690,14 @@ files:
|
|
681
690
|
- lib/rubocop/cop/style/semicolon.rb
|
682
691
|
- lib/rubocop/cop/style/send.rb
|
683
692
|
- lib/rubocop/cop/style/signal_exception.rb
|
693
|
+
- lib/rubocop/cop/style/single_argument_dig.rb
|
684
694
|
- lib/rubocop/cop/style/single_line_block_params.rb
|
685
695
|
- lib/rubocop/cop/style/single_line_methods.rb
|
686
696
|
- lib/rubocop/cop/style/slicing_with_range.rb
|
687
697
|
- lib/rubocop/cop/style/special_global_vars.rb
|
688
698
|
- lib/rubocop/cop/style/stabby_lambda_parentheses.rb
|
689
699
|
- lib/rubocop/cop/style/stderr_puts.rb
|
700
|
+
- lib/rubocop/cop/style/string_concatenation.rb
|
690
701
|
- lib/rubocop/cop/style/string_hash_keys.rb
|
691
702
|
- lib/rubocop/cop/style/string_literals.rb
|
692
703
|
- lib/rubocop/cop/style/string_literals_in_interpolation.rb
|
@@ -717,6 +728,7 @@ files:
|
|
717
728
|
- lib/rubocop/cop/style/yoda_condition.rb
|
718
729
|
- lib/rubocop/cop/style/zero_length_predicate.rb
|
719
730
|
- lib/rubocop/cop/team.rb
|
731
|
+
- lib/rubocop/cop/tokens_util.rb
|
720
732
|
- lib/rubocop/cop/util.rb
|
721
733
|
- lib/rubocop/cop/utils/format_string.rb
|
722
734
|
- lib/rubocop/cop/variable_force.rb
|
@@ -727,6 +739,7 @@ files:
|
|
727
739
|
- lib/rubocop/cop/variable_force/scope.rb
|
728
740
|
- lib/rubocop/cop/variable_force/variable.rb
|
729
741
|
- lib/rubocop/cop/variable_force/variable_table.rb
|
742
|
+
- lib/rubocop/cops_documentation_generator.rb
|
730
743
|
- lib/rubocop/core_ext/string.rb
|
731
744
|
- lib/rubocop/error.rb
|
732
745
|
- lib/rubocop/ext/processed_source.rb
|
@@ -1,28 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RuboCop
|
4
|
-
module Cop
|
5
|
-
module Lint
|
6
|
-
# This cop checks for comparison of something with itself.
|
7
|
-
#
|
8
|
-
# @example
|
9
|
-
#
|
10
|
-
# # bad
|
11
|
-
#
|
12
|
-
# x.top >= x.top
|
13
|
-
class UselessComparison < Cop
|
14
|
-
MSG = 'Comparison of something with itself detected.'
|
15
|
-
OPS = %w[== === != < > <= >= <=>].freeze
|
16
|
-
|
17
|
-
def_node_matcher :useless_comparison?,
|
18
|
-
"(send $_match {:#{OPS.join(' :')}} $_match)"
|
19
|
-
|
20
|
-
def on_send(node)
|
21
|
-
return unless useless_comparison?(node)
|
22
|
-
|
23
|
-
add_offense(node, location: :selector)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RuboCop
|
4
|
-
module Cop
|
5
|
-
# Common functionality for cops which processes Parser's diagnostics.
|
6
|
-
# This mixin requires its user class to define `#relevant_diagnostic?`.
|
7
|
-
#
|
8
|
-
# def relevant_diagnostic?(diagnostic)
|
9
|
-
# diagnostic.reason == :my_interested_diagnostic_type
|
10
|
-
# end
|
11
|
-
#
|
12
|
-
# If you want to use an alternative offense message rather than the one in
|
13
|
-
# Parser's diagnostic, define `#alternative_message`.
|
14
|
-
#
|
15
|
-
# def alternative_message(diagnostic)
|
16
|
-
# 'My custom message'
|
17
|
-
# end
|
18
|
-
module ParserDiagnostic
|
19
|
-
def investigate(processed_source)
|
20
|
-
processed_source.diagnostics.each do |d|
|
21
|
-
next unless relevant_diagnostic?(d)
|
22
|
-
|
23
|
-
message = if respond_to?(:alternative_message, true)
|
24
|
-
alternative_message(d)
|
25
|
-
else
|
26
|
-
d.message.capitalize
|
27
|
-
end
|
28
|
-
|
29
|
-
add_offense(find_offense_node_by(d),
|
30
|
-
location: d.location,
|
31
|
-
message: message,
|
32
|
-
severity: d.level)
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RuboCop
|
4
|
-
module Cop
|
5
|
-
# Common functionality for checking for too many lines.
|
6
|
-
module TooManyLines
|
7
|
-
include ConfigurableMax
|
8
|
-
include CodeLength
|
9
|
-
|
10
|
-
MSG = '%<label>s has too many lines. [%<length>d/%<max>d]'
|
11
|
-
|
12
|
-
private
|
13
|
-
|
14
|
-
def message(length, max_length)
|
15
|
-
format(MSG, label: cop_label, length: length, max: max_length)
|
16
|
-
end
|
17
|
-
|
18
|
-
def code_length(node)
|
19
|
-
Metrics::Utils::CodeLengthCalculator.new(node,
|
20
|
-
count_comments: count_comments?,
|
21
|
-
foldable_types: count_as_one).calculate
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RuboCop
|
4
|
-
module Cop
|
5
|
-
module Style
|
6
|
-
# This cop checks for the presence of `method_missing` without
|
7
|
-
# falling back on `super`.
|
8
|
-
#
|
9
|
-
# @example
|
10
|
-
# #bad
|
11
|
-
# def method_missing(name, *args)
|
12
|
-
# # ...
|
13
|
-
# end
|
14
|
-
#
|
15
|
-
# #good
|
16
|
-
#
|
17
|
-
# def method_missing(name, *args)
|
18
|
-
# # ...
|
19
|
-
# super
|
20
|
-
# end
|
21
|
-
class MethodMissingSuper < Cop
|
22
|
-
MSG = 'When using `method_missing`, fall back on `super`.'
|
23
|
-
|
24
|
-
def on_def(node)
|
25
|
-
return unless node.method?(:method_missing)
|
26
|
-
return if node.descendants.any?(&:zsuper_type?)
|
27
|
-
|
28
|
-
add_offense(node)
|
29
|
-
end
|
30
|
-
alias on_defs on_def
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|