rubocop 0.57.1 → 0.57.2
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/enabled.yml +1 -1
- data/lib/rubocop/ast/node.rb +1 -1
- data/lib/rubocop/cop/layout/closing_heredoc_indentation.rb +16 -5
- data/lib/rubocop/cop/layout/first_parameter_indentation.rb +17 -4
- data/lib/rubocop/cop/layout/indentation_consistency.rb +1 -1
- data/lib/rubocop/cop/mixin/heredoc.rb +6 -2
- data/lib/rubocop/cop/naming/heredoc_delimiter_naming.rb +1 -5
- data/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +2 -1
- data/lib/rubocop/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '059456c464bec007ceecf522ade27bd7cf5e7c5a'
|
4
|
+
data.tar.gz: cfe7d827a44e1a84835870f38d25c4f9b13a4a00
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bdd27ccbc33113527d0d6bfbdc83cc48cf83d1a00b1162328b25fa67b062b7d13330bb5011628aab74dacbcb690610f26e4e209361c1565c4ff9341c4e32cb48
|
7
|
+
data.tar.gz: '092c870e83c677788d8d314a1869a84a2a505090fc5c703f10145d1ad513231087d539a497050d985e483cf869a46b8fb96424b3465933796683972f9b02928a'
|
data/README.md
CHANGED
@@ -51,7 +51,7 @@ haven't reached version 1.0 yet). To prevent an unwanted RuboCop update you
|
|
51
51
|
might want to use a conservative version locking in your `Gemfile`:
|
52
52
|
|
53
53
|
```rb
|
54
|
-
gem 'rubocop', '~> 0.57.
|
54
|
+
gem 'rubocop', '~> 0.57.2', require: false
|
55
55
|
```
|
56
56
|
|
57
57
|
## Quickstart
|
data/config/enabled.yml
CHANGED
@@ -92,7 +92,7 @@ Layout/CaseIndentation:
|
|
92
92
|
Enabled: true
|
93
93
|
|
94
94
|
Layout/ClosingHeredocIndentation:
|
95
|
-
Description: 'Checks the
|
95
|
+
Description: 'Checks the indentation of here document closings.'
|
96
96
|
Enabled: true
|
97
97
|
|
98
98
|
Layout/ClosingParenthesisIndentation:
|
data/lib/rubocop/ast/node.rb
CHANGED
@@ -49,18 +49,18 @@ module RuboCop
|
|
49
49
|
class ClosingHeredocIndentation < Cop
|
50
50
|
include Heredoc
|
51
51
|
|
52
|
+
SIMPLE_HEREDOC = '<<'.freeze
|
52
53
|
MSG = '`%<closing>s` is not aligned with `%<opening>s`.'.freeze
|
53
54
|
MSG_ARG = '`%<closing>s` is not aligned with `%<opening>s` or ' \
|
54
55
|
'beginning of method definition.'.freeze
|
55
56
|
|
56
57
|
def on_heredoc(node)
|
57
|
-
if node
|
58
|
+
return if heredoc_type(node) == SIMPLE_HEREDOC
|
59
|
+
|
60
|
+
if empty_heredoc?(node) ||
|
58
61
|
contents_indentation(node) >= closing_indentation(node)
|
59
62
|
return if opening_indentation(node) == closing_indentation(node)
|
60
|
-
return if node
|
61
|
-
opening_indentation(
|
62
|
-
find_node_used_heredoc_argument(node.parent)
|
63
|
-
) == closing_indentation(node)
|
63
|
+
return if argument_indentation_correct?(node)
|
64
64
|
end
|
65
65
|
|
66
66
|
add_offense(node, location: :heredoc_end)
|
@@ -78,6 +78,17 @@ module RuboCop
|
|
78
78
|
indent_level(heredoc_opening(node))
|
79
79
|
end
|
80
80
|
|
81
|
+
def empty_heredoc?(node)
|
82
|
+
node.loc.heredoc_body.source.empty? || !contents_indentation(node)
|
83
|
+
end
|
84
|
+
|
85
|
+
def argument_indentation_correct?(node)
|
86
|
+
node.argument? &&
|
87
|
+
opening_indentation(
|
88
|
+
find_node_used_heredoc_argument(node.parent)
|
89
|
+
) == closing_indentation(node)
|
90
|
+
end
|
91
|
+
|
81
92
|
def contents_indentation(node)
|
82
93
|
source_lines = node.loc.heredoc_body.source.split("\n")
|
83
94
|
|
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
module RuboCop
|
4
4
|
module Cop
|
5
|
+
# rubocop:disable Metrics/LineLength
|
5
6
|
module Layout
|
6
7
|
# This cop checks the indentation of the first parameter in a method call.
|
7
8
|
# Parameters after the first one are checked by Layout/AlignParameters,
|
@@ -31,7 +32,9 @@ module RuboCop
|
|
31
32
|
# nested_first_param),
|
32
33
|
# second_param
|
33
34
|
#
|
34
|
-
#
|
35
|
+
# @example EnforcedStyle: consistent
|
36
|
+
# # The first parameter should always be indented one step more than the
|
37
|
+
# # preceding line.
|
35
38
|
#
|
36
39
|
# # good
|
37
40
|
# some_method(
|
@@ -55,7 +58,9 @@ module RuboCop
|
|
55
58
|
# nested_first_param),
|
56
59
|
# second_param
|
57
60
|
#
|
58
|
-
#
|
61
|
+
# @example EnforcedStyle: consistent_relative_to_receiver
|
62
|
+
# # The first parameter should always be indented one level relative to
|
63
|
+
# # the parent that is receiving the parameter
|
59
64
|
#
|
60
65
|
# # good
|
61
66
|
# some_method(
|
@@ -79,7 +84,11 @@ module RuboCop
|
|
79
84
|
# nested_first_param),
|
80
85
|
# second_params
|
81
86
|
#
|
82
|
-
#
|
87
|
+
# @example EnforcedStyle: special_for_inner_method_call
|
88
|
+
# # The first parameter should normally be indented one step more than
|
89
|
+
# # the preceding line, but if it's a parameter for a method call that
|
90
|
+
# # is itself a parameter in a method call, then the inner parameter
|
91
|
+
# # should be indented relative to the inner method.
|
83
92
|
#
|
84
93
|
# # good
|
85
94
|
# some_method(
|
@@ -103,7 +112,10 @@ module RuboCop
|
|
103
112
|
# nested_first_param),
|
104
113
|
# second_param
|
105
114
|
#
|
106
|
-
#
|
115
|
+
# @example EnforcedStyle: special_for_inner_method_call_in_parentheses (default)
|
116
|
+
# # Same as `special_for_inner_method_call` except that the special rule
|
117
|
+
# # only applies if the outer method call encloses its arguments in
|
118
|
+
# # parentheses.
|
107
119
|
#
|
108
120
|
# # good
|
109
121
|
# some_method(
|
@@ -128,6 +140,7 @@ module RuboCop
|
|
128
140
|
# second_param
|
129
141
|
#
|
130
142
|
class FirstParameterIndentation < Cop
|
143
|
+
# rubocop:enable Metrics/LineLength
|
131
144
|
include Alignment
|
132
145
|
include ConfigurableEnforcedStyle
|
133
146
|
include RangeHelp
|
@@ -149,7 +149,7 @@ module RuboCop
|
|
149
149
|
# is not an access modifier.
|
150
150
|
def base_column_for_normal_style(node)
|
151
151
|
first_child = node.children.first
|
152
|
-
return unless bare_access_modifier?(first_child)
|
152
|
+
return unless first_child && bare_access_modifier?(first_child)
|
153
153
|
|
154
154
|
# If, as is most common, the access modifier is indented deeper than
|
155
155
|
# the module (`access_modifier_indent > module_indent`) then the
|
@@ -4,7 +4,7 @@ module RuboCop
|
|
4
4
|
module Cop
|
5
5
|
# Common functionality for working with heredoc strings.
|
6
6
|
module Heredoc
|
7
|
-
OPENING_DELIMITER =
|
7
|
+
OPENING_DELIMITER = /(<<[~-]?)['"`]?([^'"`]+)['"`]?/
|
8
8
|
|
9
9
|
def on_str(node)
|
10
10
|
return unless node.heredoc?
|
@@ -21,7 +21,11 @@ module RuboCop
|
|
21
21
|
private
|
22
22
|
|
23
23
|
def delimiter_string(node)
|
24
|
-
node.source.match(OPENING_DELIMITER).captures
|
24
|
+
node.source.match(OPENING_DELIMITER).captures[1]
|
25
|
+
end
|
26
|
+
|
27
|
+
def heredoc_type(node)
|
28
|
+
node.source.match(OPENING_DELIMITER).captures[0]
|
25
29
|
end
|
26
30
|
end
|
27
31
|
end
|
@@ -37,7 +37,7 @@ module RuboCop
|
|
37
37
|
private
|
38
38
|
|
39
39
|
def meaningful_delimiters?(node)
|
40
|
-
delimiters =
|
40
|
+
delimiters = delimiter_string(node)
|
41
41
|
|
42
42
|
return false unless delimiters =~ /\w/
|
43
43
|
|
@@ -46,10 +46,6 @@ module RuboCop
|
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
|
-
def delimiters(node)
|
50
|
-
node.source.match(OPENING_DELIMITER).captures.first
|
51
|
-
end
|
52
|
-
|
53
49
|
def blacklisted_delimiters
|
54
50
|
cop_config['Blacklist'] || []
|
55
51
|
end
|
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.57.
|
6
|
+
STRING = '0.57.2'.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.57.
|
4
|
+
version: 0.57.2
|
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-06-
|
13
|
+
date: 2018-06-12 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: jaro_winkler
|