rubocop_method_order 0.1.0 → 0.2.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
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/CHANGELOG.md +7 -1
- data/Gemfile.lock +1 -1
- data/lib/rubocop/cop/style/method_order.rb +16 -12
- data/lib/rubocop_method_order/version.rb +1 -1
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a11e352cb4082399b5874ee8e3cd5832ec63767bce1fecf763623fcb007239b
|
4
|
+
data.tar.gz: 7d79c93d3f9fa79c4a68ab6ce6ebacb98e1f7a44dc018b5539d4e335381f3f01
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d9dbbc9ff80535bf34c0b87ff1f20105f843647d9b8c668386a8d57f03971f921eb3c1d487127e45c9eb9e265e0f369940bf79397679032a100eb8c4a4233454
|
7
|
+
data.tar.gz: d5ed4b360456386c23e88bdb5ffae8b5b7eb445b183f5a97f9240cb5fa31a4fcd251538a537e5fdb477deab27d8d111f85b20e1112e263686e722c4471527770
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -5,11 +5,17 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
5
5
|
|
6
6
|
## [Unreleased]
|
7
7
|
|
8
|
+
### Fixed
|
9
|
+
|
10
|
+
* Autocorrect of method order would not replace all incorrectly ordered nodes in
|
11
|
+
certain combinations.
|
12
|
+
|
8
13
|
## [0.1.0] - 2018-03-21
|
9
14
|
|
10
15
|
### Added
|
11
16
|
|
12
17
|
* Initial version of the extension.
|
13
18
|
|
14
|
-
[unreleased]: https://github.com/CoffeeAndCode/rubocop_method_order
|
19
|
+
[unreleased]: https://github.com/CoffeeAndCode/rubocop_method_order/compare/v0.2.0...HEAD
|
20
|
+
[0.2.0]: https://github.com/CoffeeAndCode/rubocop_method_order/compare/v0.1.0...v0.2.0
|
15
21
|
[0.1.0]: https://github.com/CoffeeAndCode/rubocop_method_order/releases/tag/v0.1.0
|
data/Gemfile.lock
CHANGED
@@ -106,23 +106,28 @@ module RuboCop
|
|
106
106
|
MSG = 'Methods should be sorted in alphabetical order within their section' \
|
107
107
|
' of the code. Method `%<method>s` should come before `%<previous_method>s`.'
|
108
108
|
|
109
|
-
def autocorrect(
|
110
|
-
return if @autocorrect_replacements[node].nil?
|
111
|
-
|
109
|
+
def autocorrect(_node) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
112
110
|
lambda do |corrector|
|
113
|
-
@
|
114
|
-
next if @
|
115
|
-
|
116
|
-
@
|
117
|
-
|
118
|
-
|
119
|
-
|
111
|
+
@method_collector.nodes_by_scope.values.each do |method_collection|
|
112
|
+
next if @autocorrected_method_collections.include?(method_collection)
|
113
|
+
|
114
|
+
@autocorrected_method_collections << method_collection
|
115
|
+
method_collection.replacements.values.each do |replacement_collection|
|
116
|
+
replacement_collection.each do |node_to_move, node_to_replace|
|
117
|
+
next if @autocorrected_nodes.include?(node_to_move)
|
118
|
+
|
119
|
+
@autocorrected_nodes << node_to_move
|
120
|
+
node_source = range_with_method_comments(node_to_move).source
|
121
|
+
replacement_range = range_with_method_comments(node_to_replace)
|
122
|
+
corrector.replace(replacement_range, node_source)
|
123
|
+
end
|
124
|
+
end
|
120
125
|
end
|
121
126
|
end
|
122
127
|
end
|
123
128
|
|
124
129
|
def investigate(_processed_source)
|
125
|
-
@
|
130
|
+
@autocorrected_method_collections = []
|
126
131
|
@autocorrected_nodes = []
|
127
132
|
@method_collector = RuboCopMethodOrder::MethodCollector.new(
|
128
133
|
should_skip_method: ->(node) { !cop_enabled_for_node?(node) }
|
@@ -173,7 +178,6 @@ module RuboCop
|
|
173
178
|
|
174
179
|
def check_nodes
|
175
180
|
@method_collector.nodes_by_scope.values.each do |method_collection|
|
176
|
-
@autocorrect_replacements.merge!(method_collection.replacements)
|
177
181
|
method_collection.offenses.each do |offense|
|
178
182
|
add_offense(offense[:node], location: :expression, message: message(
|
179
183
|
offense[:node].method_name,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop_method_order
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Knapp
|
@@ -34,7 +34,7 @@ cert_chain:
|
|
34
34
|
XxvXYAfIUSbb6/CHtemZT4zsEprRuk8eADIYUTMyAt9d2roTcsRKgq20m+PZO+b+
|
35
35
|
DVnSbPSTRxaM+9Hds4CAzdoo5hIiLyvSXSqSRGgQEMT0yiFdK+6kRw==
|
36
36
|
-----END CERTIFICATE-----
|
37
|
-
date: 2018-03-
|
37
|
+
date: 2018-03-22 00:00:00.000000000 Z
|
38
38
|
dependencies:
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: rubocop
|
metadata.gz.sig
CHANGED
Binary file
|