rubocop 1.46.0 → 1.47.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/config/default.yml +7 -0
- data/lib/rubocop/cli/command/auto_generate_config.rb +7 -0
- data/lib/rubocop/comment_config.rb +2 -0
- data/lib/rubocop/cop/autocorrect_logic.rb +1 -1
- data/lib/rubocop/cop/base.rb +1 -1
- data/lib/rubocop/cop/bundler/gem_comment.rb +1 -1
- data/lib/rubocop/cop/corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/alignment_corrector.rb +2 -2
- data/lib/rubocop/cop/correctors/each_to_for_corrector.rb +3 -3
- data/lib/rubocop/cop/correctors/for_to_each_corrector.rb +3 -3
- data/lib/rubocop/cop/correctors/line_break_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +2 -2
- data/lib/rubocop/cop/correctors/ordered_gem_corrector.rb +1 -1
- data/lib/rubocop/cop/correctors/parentheses_corrector.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/cop_description.rb +4 -4
- data/lib/rubocop/cop/internal_affairs/example_heredoc_delimiter.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/location_expression.rb +37 -0
- data/lib/rubocop/cop/internal_affairs/node_matcher_directive.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/processed_source_buffer_name.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/redundant_location_argument.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/redundant_message_argument.rb +1 -1
- data/lib/rubocop/cop/internal_affairs/redundant_source_range.rb +39 -0
- data/lib/rubocop/cop/internal_affairs.rb +2 -0
- data/lib/rubocop/cop/layout/block_end_newline.rb +4 -4
- data/lib/rubocop/cop/layout/class_structure.rb +5 -3
- data/lib/rubocop/cop/layout/closing_heredoc_indentation.rb +1 -1
- data/lib/rubocop/cop/layout/empty_comment.rb +3 -3
- data/lib/rubocop/cop/layout/empty_line_between_defs.rb +1 -1
- data/lib/rubocop/cop/layout/first_argument_indentation.rb +1 -1
- data/lib/rubocop/cop/layout/heredoc_indentation.rb +2 -2
- data/lib/rubocop/cop/layout/leading_comment_space.rb +1 -1
- data/lib/rubocop/cop/layout/line_continuation_leading_space.rb +1 -3
- data/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +2 -2
- data/lib/rubocop/cop/layout/space_in_lambda_literal.rb +2 -2
- data/lib/rubocop/cop/layout/space_inside_block_braces.rb +1 -1
- data/lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb +1 -1
- data/lib/rubocop/cop/layout/trailing_whitespace.rb +1 -1
- data/lib/rubocop/cop/lint/constant_resolution.rb +1 -1
- data/lib/rubocop/cop/lint/deprecated_class_methods.rb +1 -1
- data/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +1 -1
- data/lib/rubocop/cop/lint/duplicate_methods.rb +2 -2
- data/lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb +1 -3
- data/lib/rubocop/cop/lint/else_layout.rb +1 -1
- data/lib/rubocop/cop/lint/empty_block.rb +1 -1
- data/lib/rubocop/cop/lint/empty_conditional_body.rb +4 -2
- data/lib/rubocop/cop/lint/empty_interpolation.rb +1 -1
- data/lib/rubocop/cop/lint/ineffective_access_modifier.rb +1 -1
- data/lib/rubocop/cop/lint/literal_in_interpolation.rb +46 -4
- data/lib/rubocop/cop/lint/missing_super.rb +31 -2
- data/lib/rubocop/cop/lint/percent_string_array.rb +1 -1
- data/lib/rubocop/cop/lint/percent_symbol_array.rb +1 -1
- data/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +3 -3
- data/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +5 -5
- data/lib/rubocop/cop/lint/redundant_require_statement.rb +1 -1
- data/lib/rubocop/cop/lint/redundant_splat_expansion.rb +1 -1
- data/lib/rubocop/cop/lint/redundant_with_index.rb +1 -1
- data/lib/rubocop/cop/lint/redundant_with_object.rb +1 -1
- data/lib/rubocop/cop/lint/rescue_type.rb +3 -3
- data/lib/rubocop/cop/lint/safe_navigation_consistency.rb +1 -1
- data/lib/rubocop/cop/lint/script_permission.rb +1 -1
- data/lib/rubocop/cop/lint/shadowed_exception.rb +1 -1
- data/lib/rubocop/cop/lint/useless_times.rb +1 -1
- data/lib/rubocop/cop/metrics/collection_literal_length.rb +76 -0
- data/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +2 -2
- data/lib/rubocop/cop/migration/department_name.rb +1 -1
- data/lib/rubocop/cop/mixin/annotation_comment.rb +1 -1
- data/lib/rubocop/cop/mixin/code_length.rb +1 -1
- data/lib/rubocop/cop/mixin/comments_help.rb +2 -2
- data/lib/rubocop/cop/mixin/documentation_comment.rb +1 -1
- data/lib/rubocop/cop/mixin/hash_alignment_styles.rb +1 -1
- data/lib/rubocop/cop/mixin/hash_transform_method.rb +3 -3
- data/lib/rubocop/cop/mixin/ordered_gem_node.rb +1 -1
- data/lib/rubocop/cop/mixin/range_help.rb +1 -6
- data/lib/rubocop/cop/mixin/statement_modifier.rb +2 -2
- data/lib/rubocop/cop/mixin/trailing_comma.rb +1 -1
- data/lib/rubocop/cop/naming/heredoc_delimiter_case.rb +1 -1
- data/lib/rubocop/cop/naming/method_name.rb +1 -1
- data/lib/rubocop/cop/naming/predicate_name.rb +1 -1
- data/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +1 -1
- data/lib/rubocop/cop/style/accessor_grouping.rb +10 -1
- data/lib/rubocop/cop/style/arguments_forwarding.rb +3 -3
- data/lib/rubocop/cop/style/ascii_comments.rb +1 -1
- data/lib/rubocop/cop/style/bisected_attr_accessor.rb +1 -1
- data/lib/rubocop/cop/style/block_comments.rb +1 -1
- data/lib/rubocop/cop/style/block_delimiters.rb +2 -2
- data/lib/rubocop/cop/style/case_like_if.rb +1 -1
- data/lib/rubocop/cop/style/collection_compact.rb +1 -1
- data/lib/rubocop/cop/style/comment_annotation.rb +1 -1
- data/lib/rubocop/cop/style/commented_keyword.rb +2 -2
- data/lib/rubocop/cop/style/concat_array_literals.rb +10 -2
- data/lib/rubocop/cop/style/conditional_assignment.rb +6 -6
- data/lib/rubocop/cop/style/document_dynamic_eval_definition.rb +1 -1
- data/lib/rubocop/cop/style/documentation.rb +1 -1
- data/lib/rubocop/cop/style/each_with_object.rb +1 -1
- data/lib/rubocop/cop/style/empty_block_parameter.rb +1 -1
- data/lib/rubocop/cop/style/empty_lambda_parameter.rb +1 -1
- data/lib/rubocop/cop/style/eval_with_location.rb +4 -4
- data/lib/rubocop/cop/style/explicit_block_argument.rb +1 -1
- data/lib/rubocop/cop/style/file_read.rb +1 -1
- data/lib/rubocop/cop/style/file_write.rb +1 -1
- data/lib/rubocop/cop/style/guard_clause.rb +1 -1
- data/lib/rubocop/cop/style/hash_syntax.rb +1 -1
- data/lib/rubocop/cop/style/if_unless_modifier.rb +34 -0
- data/lib/rubocop/cop/style/inverse_methods.rb +5 -5
- data/lib/rubocop/cop/style/map_compact_with_conditional_block.rb +2 -2
- data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +1 -1
- data/lib/rubocop/cop/style/min_max.rb +3 -3
- data/lib/rubocop/cop/style/mixin_grouping.rb +4 -4
- data/lib/rubocop/cop/style/multiline_method_signature.rb +1 -1
- data/lib/rubocop/cop/style/multiline_ternary_operator.rb +1 -1
- data/lib/rubocop/cop/style/negated_if_else_condition.rb +1 -1
- data/lib/rubocop/cop/style/nil_lambda.rb +2 -2
- data/lib/rubocop/cop/style/redundant_condition.rb +2 -2
- data/lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb +2 -2
- data/lib/rubocop/cop/style/redundant_interpolation.rb +2 -2
- data/lib/rubocop/cop/style/redundant_regexp_escape.rb +10 -3
- data/lib/rubocop/cop/style/redundant_sort.rb +3 -3
- data/lib/rubocop/cop/style/redundant_string_escape.rb +2 -2
- data/lib/rubocop/cop/style/require_order.rb +1 -3
- data/lib/rubocop/cop/style/rescue_standard_error.rb +2 -2
- data/lib/rubocop/cop/style/safe_navigation.rb +2 -2
- data/lib/rubocop/cop/style/sole_nested_conditional.rb +2 -2
- data/lib/rubocop/cop/style/stderr_puts.rb +1 -1
- data/lib/rubocop/cop/style/struct_inheritance.rb +1 -1
- data/lib/rubocop/cop/style/trailing_underscore_variable.rb +1 -1
- data/lib/rubocop/cop/style/unpack_first.rb +3 -3
- data/lib/rubocop/cop/style/yoda_condition.rb +1 -1
- data/lib/rubocop/cop/style/zero_length_predicate.rb +9 -5
- data/lib/rubocop/cop/util.rb +1 -1
- data/lib/rubocop/cop/variable_force/variable.rb +5 -3
- data/lib/rubocop/directive_comment.rb +3 -3
- data/lib/rubocop/ext/comment.rb +18 -0
- data/lib/rubocop/version.rb +1 -1
- data/lib/rubocop.rb +2 -0
- metadata +7 -3
@@ -97,7 +97,7 @@ module RuboCop
|
|
97
97
|
end
|
98
98
|
|
99
99
|
def autocorrect_variable_interpolation(corrector, embedded_node, node)
|
100
|
-
replacement = "#{embedded_node.
|
100
|
+
replacement = "#{embedded_node.source}.to_s"
|
101
101
|
|
102
102
|
corrector.replace(node, replacement)
|
103
103
|
end
|
@@ -107,7 +107,7 @@ module RuboCop
|
|
107
107
|
|
108
108
|
source = if require_parentheses?(embedded_var)
|
109
109
|
receiver = range_between(
|
110
|
-
embedded_var.
|
110
|
+
embedded_var.source_range.begin_pos, embedded_var.loc.selector.end_pos
|
111
111
|
)
|
112
112
|
arguments = embedded_var.arguments.map(&:source).join(', ')
|
113
113
|
|
@@ -74,11 +74,18 @@ module RuboCop
|
|
74
74
|
|
75
75
|
def char_class_begins_or_ends_with_escaped_hyphen?(node, index)
|
76
76
|
# The hyphen character is allowed to be escaped within a character class
|
77
|
-
# but it's not
|
77
|
+
# but it's not necessary to escape hyphen if it's the first or last character
|
78
78
|
# within the character class. This method checks if that's the case.
|
79
79
|
# e.g. "[0-9\\-]" or "[\\-0-9]" would return true
|
80
|
-
contents_range(node).source
|
81
|
-
|
80
|
+
content = contents_range(node).source
|
81
|
+
|
82
|
+
if content[index + 2] == ']'
|
83
|
+
true
|
84
|
+
elsif content[index - 1] == '['
|
85
|
+
index < 2 || content[index - 2] != '\\'
|
86
|
+
else
|
87
|
+
false
|
88
|
+
end
|
82
89
|
end
|
83
90
|
|
84
91
|
def delimiter?(node, char)
|
@@ -129,13 +129,13 @@ module RuboCop
|
|
129
129
|
end
|
130
130
|
|
131
131
|
def offense_range(sort_node, node)
|
132
|
-
range_between(sort_node.loc.selector.begin_pos, node.
|
132
|
+
range_between(sort_node.loc.selector.begin_pos, node.source_range.end_pos)
|
133
133
|
end
|
134
134
|
|
135
135
|
def message(node, sorter, accessor)
|
136
136
|
accessor_source = range_between(
|
137
137
|
node.loc.selector.begin_pos,
|
138
|
-
node.
|
138
|
+
node.source_range.end_pos
|
139
139
|
).source
|
140
140
|
|
141
141
|
format(MSG,
|
@@ -146,7 +146,7 @@ module RuboCop
|
|
146
146
|
|
147
147
|
def autocorrect(corrector, node, sort_node, sorter, accessor)
|
148
148
|
# Remove accessor, e.g. `first` or `[-1]`.
|
149
|
-
corrector.remove(range_between(accessor_start(node), node.
|
149
|
+
corrector.remove(range_between(accessor_start(node), node.source_range.end_pos))
|
150
150
|
# Replace "sort" or "sort_by" with the appropriate min/max method.
|
151
151
|
corrector.replace(sort_node.loc.selector, suggestion(sorter, accessor, arg_value(node)))
|
152
152
|
# Replace to avoid syntax errors when followed by a logical operator.
|
@@ -67,7 +67,7 @@ module RuboCop
|
|
67
67
|
elsif begin_loc_present?(node)
|
68
68
|
contents_range(node)
|
69
69
|
else
|
70
|
-
node.
|
70
|
+
node.source_range
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
@@ -139,7 +139,7 @@ module RuboCop
|
|
139
139
|
|
140
140
|
def heredoc_with_disabled_interpolation?(node)
|
141
141
|
if heredoc?(node)
|
142
|
-
node.
|
142
|
+
node.source.end_with?("'")
|
143
143
|
elsif node.parent&.dstr_type?
|
144
144
|
heredoc_with_disabled_interpolation?(node.parent)
|
145
145
|
else
|
@@ -125,9 +125,7 @@ module RuboCop
|
|
125
125
|
end
|
126
126
|
|
127
127
|
def in_same_section?(node1, node2)
|
128
|
-
!node1.
|
129
|
-
end_pos: node2.location.expression.end_pos
|
130
|
-
).source.include?("\n\n")
|
128
|
+
!node1.source_range.with(end_pos: node2.source_range.end_pos).source.include?("\n\n")
|
131
129
|
end
|
132
130
|
end
|
133
131
|
end
|
@@ -105,11 +105,11 @@ module RuboCop
|
|
105
105
|
private
|
106
106
|
|
107
107
|
def offense_for_implicit_enforced_style(node, error)
|
108
|
-
range = node.loc.keyword.join(error.
|
108
|
+
range = node.loc.keyword.join(error.source_range)
|
109
109
|
|
110
110
|
add_offense(range, message: MSG_IMPLICIT) do |corrector|
|
111
111
|
error = rescue_standard_error?(node)
|
112
|
-
range = range_between(node.loc.keyword.end_pos, error.
|
112
|
+
range = range_between(node.loc.keyword.end_pos, error.source_range.end_pos)
|
113
113
|
|
114
114
|
corrector.remove(range)
|
115
115
|
end
|
@@ -297,11 +297,11 @@ module RuboCop
|
|
297
297
|
end
|
298
298
|
|
299
299
|
def begin_range(node, method_call)
|
300
|
-
range_between(node.
|
300
|
+
range_between(node.source_range.begin_pos, method_call.source_range.begin_pos)
|
301
301
|
end
|
302
302
|
|
303
303
|
def end_range(node, method_call)
|
304
|
-
range_between(method_call.
|
304
|
+
range_between(method_call.source_range.end_pos, node.source_range.end_pos)
|
305
305
|
end
|
306
306
|
|
307
307
|
def add_safe_nav_to_all_methods_in_chain(corrector,
|
@@ -167,7 +167,7 @@ module RuboCop
|
|
167
167
|
corrector.insert_before(condition,
|
168
168
|
"#{'!' if node.unless?}#{replace_condition(node.condition)} && ")
|
169
169
|
|
170
|
-
corrector.remove(node.condition.
|
170
|
+
corrector.remove(node.condition.source_range)
|
171
171
|
corrector.remove(range_with_surrounding_space(node.loc.keyword, newlines: false))
|
172
172
|
corrector.replace(if_branch.loc.keyword, 'if')
|
173
173
|
end
|
@@ -240,7 +240,7 @@ module RuboCop
|
|
240
240
|
end
|
241
241
|
|
242
242
|
def outer_condition_modify_form?(node, if_branch)
|
243
|
-
node.condition.
|
243
|
+
node.condition.source_range.begin_pos > if_branch.condition.source_range.begin_pos
|
244
244
|
end
|
245
245
|
end
|
246
246
|
end
|
@@ -55,7 +55,7 @@ module RuboCop
|
|
55
55
|
elsif (class_node = parent.parent).body.nil?
|
56
56
|
corrector.remove(range_for_empty_class_body(class_node, parent))
|
57
57
|
else
|
58
|
-
corrector.insert_after(parent.
|
58
|
+
corrector.insert_after(parent.source_range, ' do')
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
@@ -144,7 +144,7 @@ module RuboCop
|
|
144
144
|
end
|
145
145
|
|
146
146
|
def range_for_parentheses(offense, left)
|
147
|
-
range_between(offense.source_range.begin_pos - 1, left.
|
147
|
+
range_between(offense.source_range.begin_pos - 1, left.source_range.end_pos - 1)
|
148
148
|
end
|
149
149
|
end
|
150
150
|
end
|
@@ -52,9 +52,9 @@ module RuboCop
|
|
52
52
|
private
|
53
53
|
|
54
54
|
def first_element_range(node, unpack_call)
|
55
|
-
Parser::Source::Range.new(node.
|
56
|
-
unpack_call.
|
57
|
-
node.
|
55
|
+
Parser::Source::Range.new(node.source_range.source_buffer,
|
56
|
+
unpack_call.source_range.end_pos,
|
57
|
+
node.source_range.end_pos)
|
58
58
|
end
|
59
59
|
end
|
60
60
|
end
|
@@ -145,7 +145,7 @@ module RuboCop
|
|
145
145
|
end
|
146
146
|
|
147
147
|
def actual_code_range(node)
|
148
|
-
range_between(node.
|
148
|
+
range_between(node.source_range.begin_pos, node.source_range.end_pos)
|
149
149
|
end
|
150
150
|
|
151
151
|
def reverse_comparison(operator)
|
@@ -4,10 +4,13 @@ module RuboCop
|
|
4
4
|
module Cop
|
5
5
|
module Style
|
6
6
|
# Checks for numeric comparisons that can be replaced
|
7
|
-
# by a predicate method, such as receiver.length == 0
|
8
|
-
# receiver.length > 0
|
9
|
-
# receiver.length < 1 and receiver.size == 0 that can be
|
10
|
-
# replaced by receiver.empty
|
7
|
+
# by a predicate method, such as `receiver.length == 0`,
|
8
|
+
# `receiver.length > 0`, and `receiver.length != 0`,
|
9
|
+
# `receiver.length < 1` and `receiver.size == 0` that can be
|
10
|
+
# replaced by `receiver.empty?` and `!receiver.empty?`.
|
11
|
+
#
|
12
|
+
# NOTE: `File`, `Tempfile`, and `StringIO` do not have `empty?`
|
13
|
+
# so allow `size == 0` and `size.zero?`.
|
11
14
|
#
|
12
15
|
# @safety
|
13
16
|
# This cop is unsafe because it cannot be guaranteed that the receiver
|
@@ -49,6 +52,7 @@ module RuboCop
|
|
49
52
|
|
50
53
|
def check_zero_length_predicate(node)
|
51
54
|
return unless (length_method = zero_length_predicate(node.parent))
|
55
|
+
return if non_polymorphic_collection?(node.parent)
|
52
56
|
|
53
57
|
offense = node.loc.selector.join(node.parent.source_range.end)
|
54
58
|
message = format(ZERO_MSG, current: "#{length_method}.zero?")
|
@@ -134,7 +138,7 @@ module RuboCop
|
|
134
138
|
# @!method non_polymorphic_collection?(node)
|
135
139
|
def_node_matcher :non_polymorphic_collection?, <<~PATTERN
|
136
140
|
{(send (send (send (const {nil? cbase} :File) :stat _) ...) ...)
|
137
|
-
(send (send (send (const {nil? cbase} {:Tempfile :StringIO}) {:new :open} ...) ...) ...)}
|
141
|
+
(send (send (send (const {nil? cbase} {:File :Tempfile :StringIO}) {:new :open} ...) ...) ...)}
|
138
142
|
PATTERN
|
139
143
|
end
|
140
144
|
end
|
data/lib/rubocop/cop/util.rb
CHANGED
@@ -52,7 +52,7 @@ module RuboCop
|
|
52
52
|
# if/unless keyword. A preceding assignment is needed to put the
|
53
53
|
# variable in scope. For this reason we skip to the next assignment
|
54
54
|
# here.
|
55
|
-
next if
|
55
|
+
next if in_modifier_conditional?(assignment)
|
56
56
|
|
57
57
|
break if !assignment.branch || assignment.branch == reference.branch
|
58
58
|
|
@@ -63,10 +63,12 @@ module RuboCop
|
|
63
63
|
end
|
64
64
|
# rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
65
65
|
|
66
|
-
def
|
66
|
+
def in_modifier_conditional?(assignment)
|
67
67
|
parent = assignment.node.parent
|
68
68
|
parent = parent.parent if parent&.begin_type?
|
69
|
-
|
69
|
+
return false if parent.nil?
|
70
|
+
|
71
|
+
(parent.if_type? || parent.while_type? || parent.until_type?) && parent.modifier_form?
|
70
72
|
end
|
71
73
|
|
72
74
|
def capture_with_block!
|
@@ -45,9 +45,9 @@ module RuboCop
|
|
45
45
|
|
46
46
|
def range
|
47
47
|
match = comment.text.match(DIRECTIVE_COMMENT_REGEXP)
|
48
|
-
begin_pos = comment.
|
48
|
+
begin_pos = comment.source_range.begin_pos
|
49
49
|
Parser::Source::Range.new(
|
50
|
-
comment.
|
50
|
+
comment.source_range.source_buffer, begin_pos + match.begin(0), begin_pos + match.end(0)
|
51
51
|
)
|
52
52
|
end
|
53
53
|
|
@@ -108,7 +108,7 @@ module RuboCop
|
|
108
108
|
|
109
109
|
# Returns line number for directive
|
110
110
|
def line_number
|
111
|
-
comment.
|
111
|
+
comment.source_range.line
|
112
112
|
end
|
113
113
|
|
114
114
|
private
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RuboCop
|
4
|
+
module Ext
|
5
|
+
# Extensions to `Parser::Source::Comment`.
|
6
|
+
module Comment
|
7
|
+
def source
|
8
|
+
loc.expression.source
|
9
|
+
end
|
10
|
+
|
11
|
+
def source_range
|
12
|
+
loc.expression
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
Parser::Source::Comment.include RuboCop::Ext::Comment
|
data/lib/rubocop/version.rb
CHANGED
data/lib/rubocop.rb
CHANGED
@@ -14,6 +14,7 @@ require_relative 'rubocop/version'
|
|
14
14
|
require 'rubocop-ast'
|
15
15
|
|
16
16
|
require_relative 'rubocop/ast_aliases'
|
17
|
+
require_relative 'rubocop/ext/comment'
|
17
18
|
require_relative 'rubocop/ext/range'
|
18
19
|
require_relative 'rubocop/ext/regexp_node'
|
19
20
|
require_relative 'rubocop/ext/regexp_parser'
|
@@ -415,6 +416,7 @@ require_relative 'rubocop/cop/metrics/abc_size'
|
|
415
416
|
require_relative 'rubocop/cop/metrics/block_length'
|
416
417
|
require_relative 'rubocop/cop/metrics/block_nesting'
|
417
418
|
require_relative 'rubocop/cop/metrics/class_length'
|
419
|
+
require_relative 'rubocop/cop/metrics/collection_literal_length'
|
418
420
|
require_relative 'rubocop/cop/metrics/method_length'
|
419
421
|
require_relative 'rubocop/cop/metrics/module_length'
|
420
422
|
require_relative 'rubocop/cop/metrics/parameter_lists'
|
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: 1.
|
4
|
+
version: 1.47.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: 2023-
|
13
|
+
date: 2023-03-01 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: json
|
@@ -273,6 +273,7 @@ files:
|
|
273
273
|
- lib/rubocop/cop/internal_affairs/example_heredoc_delimiter.rb
|
274
274
|
- lib/rubocop/cop/internal_affairs/inherit_deprecated_cop_class.rb
|
275
275
|
- lib/rubocop/cop/internal_affairs/lambda_or_proc.rb
|
276
|
+
- lib/rubocop/cop/internal_affairs/location_expression.rb
|
276
277
|
- lib/rubocop/cop/internal_affairs/location_line_equality_comparison.rb
|
277
278
|
- lib/rubocop/cop/internal_affairs/method_name_end_with.rb
|
278
279
|
- lib/rubocop/cop/internal_affairs/method_name_equal.rb
|
@@ -288,6 +289,7 @@ files:
|
|
288
289
|
- lib/rubocop/cop/internal_affairs/redundant_location_argument.rb
|
289
290
|
- lib/rubocop/cop/internal_affairs/redundant_message_argument.rb
|
290
291
|
- lib/rubocop/cop/internal_affairs/redundant_method_dispatch_node.rb
|
292
|
+
- lib/rubocop/cop/internal_affairs/redundant_source_range.rb
|
291
293
|
- lib/rubocop/cop/internal_affairs/single_line_comparison.rb
|
292
294
|
- lib/rubocop/cop/internal_affairs/style_detected_api_use.rb
|
293
295
|
- lib/rubocop/cop/internal_affairs/undefined_config.rb
|
@@ -531,6 +533,7 @@ files:
|
|
531
533
|
- lib/rubocop/cop/metrics/block_length.rb
|
532
534
|
- lib/rubocop/cop/metrics/block_nesting.rb
|
533
535
|
- lib/rubocop/cop/metrics/class_length.rb
|
536
|
+
- lib/rubocop/cop/metrics/collection_literal_length.rb
|
534
537
|
- lib/rubocop/cop/metrics/cyclomatic_complexity.rb
|
535
538
|
- lib/rubocop/cop/metrics/method_length.rb
|
536
539
|
- lib/rubocop/cop/metrics/module_length.rb
|
@@ -903,6 +906,7 @@ files:
|
|
903
906
|
- lib/rubocop/core_ext/string.rb
|
904
907
|
- lib/rubocop/directive_comment.rb
|
905
908
|
- lib/rubocop/error.rb
|
909
|
+
- lib/rubocop/ext/comment.rb
|
906
910
|
- lib/rubocop/ext/processed_source.rb
|
907
911
|
- lib/rubocop/ext/range.rb
|
908
912
|
- lib/rubocop/ext/regexp_node.rb
|
@@ -981,7 +985,7 @@ metadata:
|
|
981
985
|
homepage_uri: https://rubocop.org/
|
982
986
|
changelog_uri: https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md
|
983
987
|
source_code_uri: https://github.com/rubocop/rubocop/
|
984
|
-
documentation_uri: https://docs.rubocop.org/rubocop/1.
|
988
|
+
documentation_uri: https://docs.rubocop.org/rubocop/1.47/
|
985
989
|
bug_tracker_uri: https://github.com/rubocop/rubocop/issues
|
986
990
|
rubygems_mfa_required: 'true'
|
987
991
|
post_install_message:
|