rubocop_challenger 2.0.0.pre5 → 2.0.0.pre6
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/.circleci/config.yml +3 -1
- data/.rubocop_todo.yml +1 -1
- data/Gemfile.lock +4 -4
- data/README.md +13 -1
- data/images/decrease_of_offence_codes.png +0 -0
- data/lib/rubocop_challenger/cli.rb +5 -0
- data/lib/rubocop_challenger/go.rb +1 -0
- data/lib/rubocop_challenger/pull_request.rb +3 -1
- data/lib/rubocop_challenger/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 33d84d4d055937dc0fa3ee0aed23d03f38325ab53de12328fe9445240928d1ee
|
4
|
+
data.tar.gz: 0f59e8c4731ac330142392f6a9f6f0f4ad52bc981ca0b75cbbf6326fad5ad331
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e633830be11c008791b17b4bb77c730bc330a33d99072947a3f1a4212527fe2f9629a9a470fc53ff9acfc7b1aac7c74a52ddc3673ccc4556bde4a11e40d3b47e
|
7
|
+
data.tar.gz: 1a29a118c86d15f03dd181c924e6d87e08c26ca76f7e7eabe5cdaa953c3eaa47f0a9582e8972f7228f9d9b18a406463fad0a74fe112e459a2713b1d8354a0b20
|
data/.circleci/config.yml
CHANGED
@@ -145,7 +145,9 @@ jobs:
|
|
145
145
|
bundle exec rubocop_challenger go \
|
146
146
|
--email=ryz310@gmail.com \
|
147
147
|
--name=ryz310 \
|
148
|
-
--template=./lib/templates/checklist.md.erb
|
148
|
+
--template=./lib/templates/checklist.md.erb \
|
149
|
+
--no-auto-gen-timestamp \
|
150
|
+
--exclude-limit=30
|
149
151
|
|
150
152
|
release:
|
151
153
|
docker:
|
data/.rubocop_todo.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on 2019-06-
|
3
|
+
# on 2019-06-22 17:06:28 +0900 using RuboCop version 0.71.0.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rubocop_challenger (2.0.0.
|
4
|
+
rubocop_challenger (2.0.0.pre6)
|
5
5
|
pr_comet (~> 0.2.0)
|
6
6
|
rainbow
|
7
7
|
rubocop
|
@@ -21,7 +21,7 @@ GEM
|
|
21
21
|
docile (1.3.2)
|
22
22
|
faraday (0.15.4)
|
23
23
|
multipart-post (>= 1.2, < 3)
|
24
|
-
jaro_winkler (1.5.
|
24
|
+
jaro_winkler (1.5.3)
|
25
25
|
json (2.2.0)
|
26
26
|
method_source (0.9.2)
|
27
27
|
multipart-post (2.1.1)
|
@@ -46,12 +46,12 @@ GEM
|
|
46
46
|
rspec-core (~> 3.8.0)
|
47
47
|
rspec-expectations (~> 3.8.0)
|
48
48
|
rspec-mocks (~> 3.8.0)
|
49
|
-
rspec-core (3.8.
|
49
|
+
rspec-core (3.8.1)
|
50
50
|
rspec-support (~> 3.8.0)
|
51
51
|
rspec-expectations (3.8.4)
|
52
52
|
diff-lcs (>= 1.2.0, < 2.0)
|
53
53
|
rspec-support (~> 3.8.0)
|
54
|
-
rspec-mocks (3.8.
|
54
|
+
rspec-mocks (3.8.1)
|
55
55
|
diff-lcs (>= 1.2.0, < 2.0)
|
56
56
|
rspec-support (~> 3.8.0)
|
57
57
|
rspec-support (3.8.2)
|
data/README.md
CHANGED
@@ -7,7 +7,13 @@ On the other hand, `rubocop` has [`--auto-correct`](https://github.com/rubocop-h
|
|
7
7
|
It is ideal that to remove a disabled rule from `.rubocop_todo.yml` every day, to check whether it passes test, and can be obtained consent from the team. But it requires strong persistence and time.
|
8
8
|
I call such work *Rubocop Challenge*. And the *RubocopChallenger* is a gem to support this challenge!
|
9
9
|
|
10
|
-
|
10
|
+
## The history of RubocopChallenger with decrease of offence codes
|
11
|
+
|
12
|
+
The following chart shows the history of RubocopChallenger and decrease of offence codes at a `.rubocop_todo.yml`. The project was released at 5 years ago, and then it was introduced the RuboCop gem for huge source code including a lots of offence codes. Before using the RubocopChallenger, it was not maintain to reduce offence codes. One day, I felt a crisis and started maintain with manual. I made a lots of Pull Requests to reduce them but it's a load for me and reviewers. So I created a script for automation the flow, which is the predecessor of Rubocop Challenger gem. It brought reducing the offence codes continuously. After 8 months, finally it has done. There is no auto-correctable offence codes.
|
13
|
+
But there are many offences which is un-auto-correctable yet. I will try to reduce it with the RubocopChallenger. The RubocopChallenger will
|
14
|
+
be continued to evolve.
|
15
|
+
|
16
|
+

|
11
17
|
|
12
18
|
## Rubocop Challenge Flow
|
13
19
|
|
@@ -15,6 +21,8 @@ I call such work *Rubocop Challenge*. And the *RubocopChallenger* is a gem to su
|
|
15
21
|
1. When *RubocopChallenger* starts, delete a disabled rule from `.rubocop_todo.yml` existing in your project, execute `$ rubocop --auto-correct` and create a PR which include modified results
|
16
22
|
1. You confirm the PR passes testing and then merge it if there is no problem
|
17
23
|
|
24
|
+
[](https://github.com/ryz310/rubocop_challenger/pull/97)
|
25
|
+
|
18
26
|
## Usage
|
19
27
|
|
20
28
|
### 1. Edit your Gemfile
|
@@ -116,8 +124,12 @@ Options:
|
|
116
124
|
t, [--template=TEMPLATE] # A Pull Request template `erb` file path.You can use variable that `title`, `rubydoc_url`, `description` and `examples` into the erb file.
|
117
125
|
[--mode=MODE] # Mode to select deletion target. You can choice "most_occurrence", "least_occurrence", or "random"
|
118
126
|
# Default: most_occurrence
|
127
|
+
b, [--base-branch=BASE_BRANCH] # The Branch to merge into
|
128
|
+
# Default: master
|
119
129
|
l, [--labels=one two three] # Label to give to Pull Request
|
120
130
|
# Default: ["rubocop challenge"]
|
131
|
+
[--project-column-name=PROJECT_COLUMN_NAME] # A project column name. You can add the created PR to the GitHub project
|
132
|
+
[--project-id=N] # A target project ID. If does not supplied, this method will find a project which associated the repository. When the repository has multiple projects, you should supply this.
|
121
133
|
[--no-create-pr] # No create a pull request (for testing)
|
122
134
|
[--exclude-limit=N] # For how many exclude properties when creating the .rubocop_todo.yml
|
123
135
|
[--auto-gen-timestamp], [--no-auto-gen-timestamp] # Include the date and time when creating the .rubocop_todo.yml
|
Binary file
|
@@ -30,6 +30,11 @@ module RubocopChallenger
|
|
30
30
|
default: 'most_occurrence',
|
31
31
|
desc: 'Mode to select deletion target. You can choice ' \
|
32
32
|
'"most_occurrence", "least_occurrence", or "random"'
|
33
|
+
option :base_branch,
|
34
|
+
type: :string,
|
35
|
+
default: 'master',
|
36
|
+
aliases: :b,
|
37
|
+
desc: 'The Branch to merge into'
|
33
38
|
option :labels,
|
34
39
|
type: :array,
|
35
40
|
default: ['rubocop challenge'],
|
@@ -9,6 +9,8 @@ module RubocopChallenger
|
|
9
9
|
# The email address which use at the git commit
|
10
10
|
# @param options [Hash]
|
11
11
|
# Optional parameters
|
12
|
+
# @option base_branch [String]
|
13
|
+
# The Branch to merge into
|
12
14
|
# @option labels [Array<String>]
|
13
15
|
# Will create a pull request with the labels
|
14
16
|
# @option dry_run [Boolean]
|
@@ -21,7 +23,7 @@ module RubocopChallenger
|
|
21
23
|
# multiple projects, you should supply this.
|
22
24
|
def initialize(user_name:, user_email:, **options)
|
23
25
|
@pr_comet = PrComet.new(
|
24
|
-
base:
|
26
|
+
base: options[:base_branch],
|
25
27
|
branch: "rubocop-challenge/#{timestamp}",
|
26
28
|
user_name: user_name,
|
27
29
|
user_email: user_email
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop_challenger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.
|
4
|
+
version: 2.0.0.pre6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ryosuke_sato
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-06-
|
11
|
+
date: 2019-06-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pr_comet
|
@@ -205,6 +205,7 @@ files:
|
|
205
205
|
- challenger.gemspec
|
206
206
|
- exe/rubocop_challenger
|
207
207
|
- images/circleci_environment_variables.png
|
208
|
+
- images/decrease_of_offence_codes.png
|
208
209
|
- images/generate_token.png
|
209
210
|
- images/rubocop_challenge.png
|
210
211
|
- lib/rubocop_challenger.rb
|