rubocop_challenger 2.0.0.pre9 → 2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 49f15eb335d59c4434b4d8652eea95e0fa0aacac7bdb9e85a0ce03fc7006bddd
4
- data.tar.gz: e2e310141fea1580bab207518796f7006b0cb81528857df626143f525b0df0b4
3
+ metadata.gz: 9de614d27c025b681596e5f3e59cfdd0faf220647f6d5f74b5ba1d1b6e3c4714
4
+ data.tar.gz: 7a7f66167b732e1db0c24dc764f568ebf65f8379cfa8f00ea77e16f3659fa075
5
5
  SHA512:
6
- metadata.gz: 5dafbd5acb4bbe5f5bdf271f773642f5fdb1939d419d68436d48832304b90639a6967c7798311689148e940c509d1dab4362ccd01b90d21fe56e3ba2edd1ede7
7
- data.tar.gz: 545076e8b439f5cbce74b92bc8d99f31327e325efa97d62c312979c50f9c58d3de6e988028801eaa5200b75c30228d268bd8d6e7aa6e7cad79d9bca302241054
6
+ metadata.gz: 4b808e5e3d05bed8fc1793d812eded0b17168d392ae0219bdfe96ccb5a1be77cdc9bb96e3d33b40c91f8f1deb354cec555fdd563f5e2f1c5b4c3fd53b774e9ab
7
+ data.tar.gz: 128d208942ccd3d8d198a4bdf506428e0efcfb766d898fc6e606b1cc6fe2f445be63269ac1742ed80e731c8c2a621b90f63af8afb03d33bc24eb28e3835d4225
@@ -5,22 +5,22 @@
5
5
  version: 2.1
6
6
 
7
7
  orbs:
8
- ruby-orbs: sue445/ruby-orbs@1.4.3
8
+ ruby-orbs: sue445/ruby-orbs@1.6.1
9
9
  code-climate: rvla/code-climate@0.0.2
10
10
 
11
11
  references:
12
12
  - &ruby_version
13
13
  ruby_version:
14
14
  type: enum
15
- enum: ['2.4', '2.5', '2.6', 'latest']
16
- default: '2.4'
15
+ enum: ['2.5', '2.6', '2.7', '3.0', 'latest']
16
+ default: '3.0'
17
17
 
18
18
  executors:
19
19
  default:
20
20
  parameters:
21
21
  <<: *ruby_version
22
22
  docker:
23
- - image: circleci/ruby:<< parameters.ruby_version >>-node-browsers
23
+ - image: circleci/ruby:<< parameters.ruby_version >>
24
24
  working_directory: ~/repo
25
25
 
26
26
  commands:
@@ -41,7 +41,7 @@ commands:
41
41
  - code-climate/format-coverage:
42
42
  input-type: simplecov
43
43
  prefix: $(readlink -f .)
44
- coverage-file: coverage/.resultset.json
44
+ coverage-file: coverage/coverage.json
45
45
  output: coverage/codeclimate.$CIRCLE_BUILD_NUM.json
46
46
  - persist_to_workspace:
47
47
  root: coverage
@@ -128,6 +128,9 @@ commands:
128
128
  <<: *ruby_version
129
129
  steps:
130
130
  - checkout
131
+ - run:
132
+ name: Install Bundler 2.x
133
+ command: gem install bundler:2.1.4
131
134
  - ruby-orbs/bundle-install:
132
135
  cache_key_prefix: v1-dependencies-<< parameters.ruby_version >>
133
136
  test_and_build:
@@ -156,7 +159,7 @@ jobs:
156
159
  - code-climate/install
157
160
  - code-climate/sum-coverage:
158
161
  input: codeclimate.*.json
159
- parts: 4
162
+ parts: 5
160
163
  - code-climate/upload-coverage
161
164
  rubocop:
162
165
  executor: default
@@ -189,15 +192,18 @@ workflows:
189
192
 
190
193
  commit:
191
194
  jobs:
192
- - build:
193
- name: build_on_ruby_2.4
194
- ruby_version: '2.4'
195
195
  - build:
196
196
  name: build_on_ruby_2.5
197
197
  ruby_version: '2.5'
198
198
  - build:
199
199
  name: build_on_ruby_2.6
200
200
  ruby_version: '2.6'
201
+ - build:
202
+ name: build_on_ruby_2.7
203
+ ruby_version: '2.7'
204
+ - build:
205
+ name: build_on_ruby_3.0
206
+ ruby_version: '3.0'
201
207
  - build:
202
208
  name: build_on_ruby_latest
203
209
  ruby_version: 'latest'
@@ -206,16 +212,18 @@ workflows:
206
212
  - integration_testing
207
213
  - upload-coverage:
208
214
  requires:
209
- - build_on_ruby_2.4
210
215
  - build_on_ruby_2.5
211
216
  - build_on_ruby_2.6
217
+ - build_on_ruby_2.7
218
+ - build_on_ruby_3.0
212
219
  - build_on_ruby_latest
213
220
  - release:
214
221
  context: RubyGems API Key
215
222
  requires:
216
- - build_on_ruby_2.4
217
223
  - build_on_ruby_2.5
218
224
  - build_on_ruby_2.6
225
+ - build_on_ruby_2.7
226
+ - build_on_ruby_3.0
219
227
  - build_on_ruby_latest
220
228
  - rubocop
221
229
  filters:
@@ -0,0 +1,18 @@
1
+ version: 1
2
+ update_configs:
3
+ - package_manager: "ruby:bundler"
4
+ directory: "/"
5
+ update_schedule: "live"
6
+ default_reviewers:
7
+ - "ryz310"
8
+ default_assignees:
9
+ - "ryz310"
10
+ default_labels:
11
+ - "dependabot"
12
+ automerged_updates:
13
+ - match:
14
+ dependency_type: "development"
15
+ update_type: "all"
16
+ - match:
17
+ dependency_type: "production"
18
+ update_type: "semver:patch"
@@ -1,6 +1,24 @@
1
- version: 1
1
+ # [Usage]
2
+ #
3
+ # $ gem install gem_comet
4
+ # $ gem_comet init
5
+ # $ gem_comet release {version number, like as "1.2.3"}
6
+ # $ gem_comet changelog
7
+ # $ gem_comet versions
8
+
9
+ version: 1.2
2
10
 
3
11
  release:
4
12
  base_branch: master
5
13
  release_branch: production
6
14
  version_file_path: lib/rubocop_challenger/version.rb
15
+ changelog_file_path: CHANGELOG.md # optional
16
+ changelog:
17
+ categories:
18
+ - Feature
19
+ - Bugfix
20
+ - Security
21
+ - Breaking Change
22
+ - Rubocop Challenge
23
+ - Dependabot
24
+ - Misc
@@ -1,21 +1,29 @@
1
1
  require:
2
2
  - rubocop-performance
3
+ - rubocop-rake
3
4
  - rubocop-rspec
4
5
 
5
6
  inherit_from: .rubocop_todo.yml
6
7
 
7
8
  AllCops:
8
- TargetRubyVersion: 2.4
9
+ TargetRubyVersion: 2.5
10
+ NewCops: enable
9
11
 
10
12
  Metrics/BlockLength:
11
13
  Exclude:
12
14
  - 'challenger.gemspec'
13
15
  - 'spec/**/*'
14
16
 
17
+ Naming/VariableNumber:
18
+ EnforcedStyle: snake_case
19
+
15
20
  # For integration testing
16
21
  RSpec/MultipleExpectations:
17
22
  Exclude:
18
- - 'spec/rubocop_challenger/cli_spec.rb'
23
+ - 'spec/lib/rubocop_challenger/cli_spec.rb'
24
+
25
+ RSpec/MultipleMemoizedHelpers:
26
+ Max: 10
19
27
 
20
28
  RSpec/NestedGroups:
21
29
  Max: 4
@@ -0,0 +1,3 @@
1
+ ---
2
+ Ignore:
3
+ - Performance/StartWith
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config --exclude-limit 30 --no-auto-gen-timestamp`
3
- # using RuboCop version 0.75.0.
3
+ # using RuboCop version 1.8.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
@@ -0,0 +1,314 @@
1
+ # Change log
2
+
3
+ ## v2.2.0 (Jan 11, 2021)
4
+
5
+ ### Feature
6
+
7
+ * [#449](https://github.com/ryz310/rubocop_challenger/pull/449) Add verbose option ([@ryz310](https://github.com/ryz310))
8
+
9
+ ### Dependabot
10
+
11
+ * [#447](https://github.com/ryz310/rubocop_challenger/pull/447) ryz310/dependabot/bundler/rubocop-1.8.1 ([@ryz310](https://github.com/ryz310))
12
+
13
+ ## v2.1.0 (Jan 11, 2021)
14
+
15
+ ### Feature
16
+
17
+ * [#441](https://github.com/ryz310/rubocop_challenger/pull/441) Improve PR description generation ([@ryz310](https://github.com/ryz310))
18
+
19
+ ### Rubocop Challenge
20
+
21
+ * [#442](https://github.com/ryz310/rubocop_challenger/pull/442) Re-generate .rubocop_todo.yml with RuboCop v1.8.0 ([@ryz310](https://github.com/ryz310))
22
+
23
+ ### Dependabot
24
+
25
+ * [#444](https://github.com/ryz310/rubocop_challenger/pull/444) Update simplecov requirement from = 0.17.1 to = 0.21.2 ([@ryz310](https://github.com/ryz310))
26
+
27
+ ## v2.0.1 (Jan 06, 2021)
28
+
29
+ ### Bugfix
30
+
31
+ * [#437](https://github.com/ryz310/rubocop_challenger/pull/437) Fix keyword argument expanding for Ruby 3.0 ([@ryz310](https://github.com/ryz310))
32
+
33
+ ## v2.0.0 (Jan 04, 2021)
34
+
35
+ ### Feature
36
+
37
+ * [#183](https://github.com/ryz310/rubocop_challenger/pull/183) Implement the flow that create a PR which re-generate ".rubocop_todo.yml" ([@ryz310](https://github.com/ryz310))
38
+ * [#187](https://github.com/ryz310/rubocop_challenger/pull/187) Bundle update rubocop ([@ryz310](https://github.com/ryz310))
39
+ * [#208](https://github.com/ryz310/rubocop_challenger/pull/208) Render links for release note and compare page ([@ryz310](https://github.com/ryz310))
40
+ * [#217](https://github.com/ryz310/rubocop_challenger/pull/217) Support auto gem config options ([@ryz310](https://github.com/ryz310))
41
+ * [#250](https://github.com/ryz310/rubocop_challenger/pull/250) Add error reporting feature ([@ryz310](https://github.com/ryz310))
42
+ * [#253](https://github.com/ryz310/rubocop_challenger/pull/253) Add information of the rubocop challenge ([@ryz310](https://github.com/ryz310))
43
+ * [#288](https://github.com/ryz310/rubocop_challenger/pull/288) Support ruby 2.7 ([@ryz310](https://github.com/ryz310))
44
+ * [#362](https://github.com/ryz310/rubocop_challenger/pull/362) Use rubocop auto correct all ([@ryz310](https://github.com/ryz310))
45
+ * [#398](https://github.com/ryz310/rubocop_challenger/pull/398) Add auto correct safe option ([@ryz310](https://github.com/ryz310))
46
+ * [#432](https://github.com/ryz310/rubocop_challenger/pull/432) Support ruby 3.0 ([@ryz310](https://github.com/ryz310))
47
+
48
+ ### Bugfix
49
+
50
+ * [#212](https://github.com/ryz310/rubocop_challenger/pull/212) Fix the version of pr_comet ([@ryz310](https://github.com/ryz310))
51
+ * [#231](https://github.com/ryz310/rubocop_challenger/pull/231) Fix the way of requirements loading for optional dependencies ([@ryz310](https://github.com/ryz310))
52
+ * [#238](https://github.com/ryz310/rubocop_challenger/pull/238) Fix/load error of the updated gems ([@ryz310](https://github.com/ryz310))
53
+ * [#363](https://github.com/ryz310/rubocop_challenger/pull/363) Require rubocop-rails gem ([@ryz310](https://github.com/ryz310))
54
+
55
+ ### Breaking Change
56
+
57
+ * [#180](https://github.com/ryz310/rubocop_challenger/pull/180) Farewell ruby 2.3 ([@ryz310](https://github.com/ryz310))
58
+ * [#184](https://github.com/ryz310/rubocop_challenger/pull/184) Remove base branch option ([@ryz310](https://github.com/ryz310))
59
+ * [#396](https://github.com/ryz310/rubocop_challenger/pull/396) End of support for Ruby 2.4 ([@ryz310](https://github.com/ryz310))
60
+
61
+ ### Rubocop Challenge
62
+
63
+ * [#228](https://github.com/ryz310/rubocop_challenger/pull/228) Style/WordArray-20190625233039 ([@ryz310](https://github.com/ryz310))
64
+ * [#235](https://github.com/ryz310/rubocop_challenger/pull/235) Performance/RegexpMatch-20190729233033 ([@ryz310](https://github.com/ryz310))
65
+ * [#236](https://github.com/ryz310/rubocop_challenger/pull/236) Layout/SpaceAroundOperators-20190731233025 ([@ryz310](https://github.com/ryz310))
66
+ * [#317](https://github.com/ryz310/rubocop_challenger/pull/317) Performance/StartWith-20200523233027 ([@ryz310](https://github.com/ryz310))
67
+ * [#427](https://github.com/ryz310/rubocop_challenger/pull/427) Re-generate .rubocop_todo.yml with RuboCop v1.7.0 ([@ryz310](https://github.com/ryz310))
68
+
69
+ ### Dependabot
70
+
71
+ * [#242](https://github.com/ryz310/rubocop_challenger/pull/242) ryz310/dependabot/bundler/rake-tw-13.0 ([@ryz310](https://github.com/ryz310))
72
+ * [#244](https://github.com/ryz310/rubocop_challenger/pull/244) ryz310/dependabot/bundler/simplecov-0.17.1 ([@ryz310](https://github.com/ryz310))
73
+ * [#245](https://github.com/ryz310/rubocop_challenger/pull/245) ryz310/dependabot/bundler/pr_comet-gte-0.2-and-lt-0.4 ([@ryz310](https://github.com/ryz310))
74
+ * [#271](https://github.com/ryz310/rubocop_challenger/pull/271) Bump thor from 1.0.0 to 1.0.1 ([@ryz310](https://github.com/ryz310))
75
+ * [#303](https://github.com/ryz310/rubocop_challenger/pull/303) ryz310/dependabot/bundler/pry-byebug-3.9.0 ([@ryz310](https://github.com/ryz310))
76
+ * [#376](https://github.com/ryz310/rubocop_challenger/pull/376) ryz310/dependabot/bundler/rspec-3.10.0 ([@ryz310](https://github.com/ryz310))
77
+ * [#414](https://github.com/ryz310/rubocop_challenger/pull/414) ryz310/dependabot/bundler/rubocop-rspec-2.0.1 ([@ryz310](https://github.com/ryz310))
78
+ * [#421](https://github.com/ryz310/rubocop_challenger/pull/421) ryz310/dependabot/bundler/rubocop-1.6.1 ([@ryz310](https://github.com/ryz310))
79
+ * [#423](https://github.com/ryz310/rubocop_challenger/pull/423) ryz310/dependabot/bundler/rubocop-rails-2.9.1 ([@ryz310](https://github.com/ryz310))
80
+ * [#426](https://github.com/ryz310/rubocop_challenger/pull/426) ryz310/dependabot/bundler/rake-13.0.3 ([@ryz310](https://github.com/ryz310))
81
+ * [#428](https://github.com/ryz310/rubocop_challenger/pull/428) ryz310/dependabot/bundler/yard-0.9.26 ([@ryz310](https://github.com/ryz310))
82
+ * [#431](https://github.com/ryz310/rubocop_challenger/pull/431) ryz310/dependabot/bundler/rubocop-performance-1.9.2 ([@ryz310](https://github.com/ryz310))
83
+
84
+ ### Security
85
+
86
+ * [#230](https://github.com/ryz310/rubocop_challenger/pull/230) Bump yard from 0.9.19 to 0.9.20 ([@ryz310](https://github.com/ryz310))
87
+
88
+ ### Misc
89
+
90
+ * [#178](https://github.com/ryz310/rubocop_challenger/pull/178) Use #abort instead of #puts and #exit! ([@ryz310](https://github.com/ryz310))
91
+ * [#181](https://github.com/ryz310/rubocop_challenger/pull/181) Remove waffle.io badge ([@ryz310](https://github.com/ryz310))
92
+ * [#185](https://github.com/ryz310/rubocop_challenger/pull/185) Improve code coverage and fix implements ([@ryz310](https://github.com/ryz310))
93
+ * [#186](https://github.com/ryz310/rubocop_challenger/pull/186) Use #abort instead of #exit! ([@ryz310](https://github.com/ryz310))
94
+ * [#192](https://github.com/ryz310/rubocop_challenger/pull/192) Extract with pr comet ([@ryz310](https://github.com/ryz310))
95
+ * [#216](https://github.com/ryz310/rubocop_challenger/pull/216) Use rainbow gem ([@ryz310](https://github.com/ryz310))
96
+ * [#218](https://github.com/ryz310/rubocop_challenger/pull/218) Add pull request to GitHub project on execute ([@ryz310](https://github.com/ryz310))
97
+ * [#219](https://github.com/ryz310/rubocop_challenger/pull/219) Add auto updating target gems ([@ryz310](https://github.com/ryz310))
98
+ * [#223](https://github.com/ryz310/rubocop_challenger/pull/223) Support base branch option ([@ryz310](https://github.com/ryz310))
99
+ * [#227](https://github.com/ryz310/rubocop_challenger/pull/227) Migrate circle ci version to 2.1 ([@ryz310](https://github.com/ryz310))
100
+ * [#239](https://github.com/ryz310/rubocop_challenger/pull/239) Introduce gem comet ([@ryz310](https://github.com/ryz310))
101
+ * [#294](https://github.com/ryz310/rubocop_challenger/pull/294) Update ruby-orbs orb to v1.6.0 ([@ryz310](https://github.com/ryz310))
102
+ * [#304](https://github.com/ryz310/rubocop_challenger/pull/304) Edit dependabot configuration ([@ryz310](https://github.com/ryz310))
103
+ * [#433](https://github.com/ryz310/rubocop_challenger/pull/433) Update `pr_comet` ([@ryz310](https://github.com/ryz310))
104
+
105
+ ## v1.2.0 (Feb 27, 2019)
106
+
107
+ ### Feature
108
+
109
+ * Challenge incompleted list ([#170](https://github.com/ryz310/rubocop_challenger/pull/170))
110
+
111
+ ### Bugfix
112
+
113
+ * Fix exit code when no more auto-correctable rule ([#175](https://github.com/ryz310/rubocop_challenger/pull/175))
114
+
115
+ ### Breaking Change
116
+
117
+ * Remove "regenerate-rubocop-todo" option ([#170](https://github.com/ryz310/rubocop_challenger/pull/170))
118
+
119
+ ## v1.1.2 (Feb 21, 2019)
120
+
121
+ ### Feature
122
+
123
+ * Re-generate .rubocop_todo.yml on pre-challenge ([#169](https://github.com/ryz310/rubocop_challenger/pull/169))
124
+
125
+ ## v1.1.1 (Jan 17, 2019)
126
+
127
+ ### Bugfix
128
+
129
+ * Fix encountering name error when finding a cop class by cop name ([#164](https://github.com/ryz310/rubocop_challenger/pull/164))
130
+
131
+ ### Misc
132
+
133
+ * Configure Renovate ([#162](https://github.com/ryz310/rubocop_challenger/pull/162))
134
+
135
+ ## v1.1.0 (Dec 29, 2018)
136
+
137
+ ### Feature
138
+
139
+ * Support ruby 2.6 ([#156](https://github.com/ryz310/rubocop_challenger/pull/156))
140
+
141
+ ### Misc
142
+
143
+ * Change emoji on the commit message ([#158](https://github.com/ryz310/rubocop_challenger/pull/158))
144
+
145
+ ## v1.0.0 (Dec 3, 2018)
146
+
147
+ Release v1.0.0 :tada:
148
+
149
+ ## v1.0.0.pre4 (Nov 26, 2018)
150
+
151
+ ### Security
152
+
153
+ * Add quiet option on git push command ([#149](https://github.com/ryz310/rubocop_challenger/pull/149))
154
+
155
+ ### Misc
156
+
157
+ * Add yard testing flow ([#150](https://github.com/ryz310/rubocop_challenger/pull/150))
158
+ * Add jailbreak script ([#151](https://github.com/ryz310/rubocop_challenger/pull/151))
159
+
160
+ ## v1.0.0.pre3 (Nov 17, 2018)
161
+
162
+ ### Feature
163
+
164
+ * Output the result in the execution ([#139](https://github.com/ryz310/rubocop_challenger/pull/139))
165
+ * Colorize error log ([#145](https://github.com/ryz310/rubocop_challenger/pull/145))
166
+
167
+ ### Bugfix
168
+
169
+ * Filter access token in the command logging ([#144](https://github.com/ryz310/rubocop_challenger/pull/144))
170
+
171
+ ## v1.0.0.pre2 (Nov 15, 2018)
172
+
173
+ ### Feature
174
+
175
+ * Support private repository ([#132](https://github.com/ryz310/rubocop_challenger/pull/132))
176
+ * Support old git version ([#133](https://github.com/ryz310/rubocop_challenger/pull/133))
177
+
178
+ ### Misc
179
+
180
+ * Add Github::Client#add_labels spec ([#131](https://github.com/ryz310/rubocop_challenger/pull/131))
181
+ * Remove a unnecessary option ([#134](https://github.com/ryz310/rubocop_challenger/pull/134))
182
+
183
+ ## v1.0.0.pre (Nov 13, 2018)
184
+
185
+ ### Feature
186
+
187
+ * Use octokit ([#121](https://github.com/ryz310/rubocop_challenger/pull/121))
188
+
189
+ ### Breaking Change
190
+
191
+ * Change `--regenerate-rubocop-todo` option default value to true
192
+
193
+ ### Misc
194
+
195
+ * Modify gem version validator ([#127](https://github.com/ryz310/rubocop_challenger/pull/127))
196
+
197
+ ## v0.5.2 (Nov 4, 2018)
198
+
199
+ ### Misc
200
+
201
+ * Install code climate ([#116](https://github.com/ryz310/rubocop_challenger/pull/116))
202
+ * Fix coveralls badge URL ([#117](https://github.com/ryz310/rubocop_challenger/pull/117))
203
+ * Uninstall coveralls ([#118](https://github.com/ryz310/rubocop_challenger/pull/118))
204
+
205
+ ## v0.5.1 (Nov 1, 2018)
206
+
207
+ ### Misc
208
+
209
+ * Style/MutableConstant at Tue Oct 30 23:30:33 UTC 2018 ([#106](https://github.com/ryz310/rubocop_challenger/pull/106))
210
+ * Install coveralls ([#107](https://github.com/ryz310/rubocop_challenger/pull/107))
211
+ * Definition of Metrics/BlockLength ([#109](https://github.com/ryz310/rubocop_challenger/pull/109))
212
+ * Fix offense of RSpec/ExampleLength ([#110](https://github.com/ryz310/rubocop_challenger/pull/110))
213
+ * Fix offense of Style/Documentation ([#111](https://github.com/ryz310/rubocop_challenger/pull/111))
214
+ * Fix offense of Metrics/LineLength ([#112](https://github.com/ryz310/rubocop_challenger/pull/112))
215
+ * Fix that testing target is wrong ([#113](https://github.com/ryz310/rubocop_challenger/pull/113))
216
+
217
+ ## v0.5.0 (Oct 30, 2018)
218
+
219
+ ### Feature
220
+
221
+ * Use bundle exec ([#100](https://github.com/ryz310/rubocop_challenger/pull/100))
222
+
223
+ ### Breaking Change
224
+
225
+ * Return example name ([#101](https://github.com/ryz310/rubocop_challenger/pull/101))
226
+
227
+ ### Misc
228
+
229
+ * Layout/AlignHash at Sun Oct 28 23:30:20 UTC 2018 ([#97](https://github.com/ryz310/rubocop_challenger/pull/97))
230
+ * Add Rubocop Challenge example to the README.md ([#98](https://github.com/ryz310/rubocop_challenger/pull/98))
231
+ * Update bundle when create release PR ([#103](https://github.com/ryz310/rubocop_challenger/pull/103))
232
+
233
+ ## v0.4.1 (Oct 28, 2018)
234
+
235
+ ### Bugfix
236
+
237
+ * Return status code 0 when exists no auto-correctable cop ([#91](https://github.com/ryz310/rubocop_challenger/pull/91))
238
+ * Fix rubocop version mismatch ([#92](https://github.com/ryz310/rubocop_challenger/pull/92))
239
+
240
+ ### Misc
241
+
242
+ * Style/RedundantSelf at Fri Oct 26 05:58:13 UTC 2018 ([#89](https://github.com/ryz310/rubocop_challenger/pull/89))
243
+ * Layout/SpaceInsideBlockBraces at Sat Oct 27 23:30:21 UTC 2018 ([#93](https://github.com/ryz310/rubocop_challenger/pull/93))
244
+
245
+ ## v0.4.0 (Oct 26, 2018)
246
+
247
+ ### Feature
248
+
249
+ * Generate document from yardoc ([#86](https://github.com/ryz310/rubocop_challenger/pull/86))
250
+
251
+ ### Misc
252
+
253
+ * Rake/create pr for version up ([#81](https://github.com/ryz310/rubocop_challenger/pull/81))
254
+ * Style/RescueModifier at Wed Oct 24 23:30:21 UTC 2018 ([#82](https://github.com/ryz310/rubocop_challenger/pull/82))
255
+
256
+ ## v0.3.1 (Oct 23, 2018)
257
+
258
+ ### Feature
259
+
260
+ * Modify default template ([#73](https://github.com/ryz310/rubocop_challenger/pull/73))
261
+
262
+
263
+ ## v0.3.0 (Oct 23, 2018)
264
+
265
+ ### Feature
266
+
267
+ * Add labels option ([#67](https://github.com/ryz310/rubocop_challenger/pull/67))
268
+ * Add template option ([#70](https://github.com/ryz310/rubocop_challenger/pull/70))
269
+
270
+ ### Misc
271
+
272
+ * Run rubocop challenge after release ([#68](https://github.com/ryz310/rubocop_challenger/pull/68))
273
+
274
+ ## v0.2.1 (Oct 23, 2019)
275
+
276
+ ### Bugfix
277
+
278
+ * Fix default PR template file path ([#64](https://github.com/ryz310/rubocop_challenger/pull/64))
279
+
280
+ ## v0.2.0 (Oct 23, 2018)
281
+
282
+ ### Feature
283
+
284
+ * Generate pr template ([#50](https://github.com/ryz310/rubocop_challenger/pull/50))
285
+ * Add no-commit option ([#53](https://github.com/ryz310/rubocop_challenger/pull/53))
286
+ * Return status code 1 when an error occurs ([#56](https://github.com/ryz310/rubocop_challenger/pull/56))
287
+ * Add option which regenerate rubocop todo file ([#59](https://github.com/ryz310/rubocop_challenger/pull/59))
288
+
289
+ ### Misc
290
+
291
+ * Add access token description ([#48](https://github.com/ryz310/rubocop_challenger/pull/48))
292
+ * Add no document option to gem install command ([#51](https://github.com/ryz310/rubocop_challenger/pull/51))
293
+
294
+ ## v0.1.3 (Oct 21, 2018)
295
+
296
+ ### Misc
297
+
298
+ * Style/TrailingCommaInArrayLiteral at Fri Oct 19 23:30:18 UTC 2018 ([#34](https://github.com/ryz310/rubocop_challenger/pull/34))
299
+ * Update readme ([#36](https://github.com/ryz310/rubocop_challenger/pull/36))
300
+ * Add challenge class spec ([#42](https://github.com/ryz310/rubocop_challenger/pull/42))
301
+
302
+ ## v0.1.2 (Oct 19, 2018)
303
+
304
+ ### Misc
305
+
306
+ * Install from gem ([#28](https://github.com/ryz310/rubocop_challenger/pull/28))
307
+
308
+ ## v0.1.1 (Oct 19, 2018)
309
+
310
+ Minor fixes
311
+
312
+ ## v0.1.0 (Oct 18, 2018)
313
+
314
+ Initial release! :rocket:
@@ -1,11 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rubocop_challenger (2.0.0.pre9)
5
- pr_comet (>= 0.2, < 0.4)
4
+ rubocop_challenger (2.2.0)
5
+ pr_comet (~> 0.5.1)
6
6
  rainbow
7
- rubocop
7
+ rubocop (>= 0.87)
8
8
  rubocop-performance
9
+ rubocop-rails
10
+ rubocop-rake
9
11
  rubocop-rspec
10
12
  thor
11
13
  yard
@@ -13,86 +15,118 @@ PATH
13
15
  GEM
14
16
  remote: https://rubygems.org/
15
17
  specs:
18
+ activesupport (6.1.1)
19
+ concurrent-ruby (~> 1.0, >= 1.0.2)
20
+ i18n (>= 1.6, < 2)
21
+ minitest (>= 5.1)
22
+ tzinfo (~> 2.0)
23
+ zeitwerk (~> 2.3)
16
24
  addressable (2.7.0)
17
25
  public_suffix (>= 2.0.2, < 5.0)
18
- ast (2.4.0)
19
- byebug (11.0.1)
20
- coderay (1.1.2)
21
- diff-lcs (1.3)
22
- docile (1.3.2)
23
- faraday (0.16.2)
26
+ ast (2.4.1)
27
+ byebug (11.1.3)
28
+ coderay (1.1.3)
29
+ concurrent-ruby (1.1.7)
30
+ diff-lcs (1.4.4)
31
+ docile (1.3.4)
32
+ faraday (1.3.0)
33
+ faraday-net_http (~> 1.0)
24
34
  multipart-post (>= 1.2, < 3)
25
- jaro_winkler (1.5.3)
26
- json (2.2.0)
27
- method_source (0.9.2)
35
+ ruby2_keywords
36
+ faraday-net_http (1.0.0)
37
+ i18n (1.8.7)
38
+ concurrent-ruby (~> 1.0)
39
+ method_source (1.0.0)
40
+ minitest (5.14.3)
28
41
  multipart-post (2.1.1)
29
- octokit (4.14.0)
42
+ octokit (4.20.0)
43
+ faraday (>= 0.9)
30
44
  sawyer (~> 0.8.0, >= 0.5.3)
31
- parallel (1.17.0)
32
- parser (2.6.5.0)
33
- ast (~> 2.4.0)
34
- pr_comet (0.3.0)
45
+ parallel (1.20.1)
46
+ parser (3.0.0.0)
47
+ ast (~> 2.4.1)
48
+ pr_comet (0.5.1)
35
49
  octokit
36
50
  rainbow
37
- pry (0.12.2)
38
- coderay (~> 1.1.0)
39
- method_source (~> 0.9.0)
40
- pry-byebug (3.7.0)
51
+ pry (0.13.1)
52
+ coderay (~> 1.1)
53
+ method_source (~> 1.0)
54
+ pry-byebug (3.9.0)
41
55
  byebug (~> 11.0)
42
- pry (~> 0.10)
43
- public_suffix (4.0.1)
56
+ pry (~> 0.13.0)
57
+ public_suffix (4.0.6)
58
+ rack (2.2.3)
44
59
  rainbow (3.0.0)
45
- rake (13.0.0)
46
- rspec (3.8.0)
47
- rspec-core (~> 3.8.0)
48
- rspec-expectations (~> 3.8.0)
49
- rspec-mocks (~> 3.8.0)
50
- rspec-core (3.8.2)
51
- rspec-support (~> 3.8.0)
52
- rspec-expectations (3.8.5)
60
+ rake (13.0.3)
61
+ regexp_parser (2.0.3)
62
+ rexml (3.2.4)
63
+ rspec (3.10.0)
64
+ rspec-core (~> 3.10.0)
65
+ rspec-expectations (~> 3.10.0)
66
+ rspec-mocks (~> 3.10.0)
67
+ rspec-core (3.10.1)
68
+ rspec-support (~> 3.10.0)
69
+ rspec-expectations (3.10.1)
53
70
  diff-lcs (>= 1.2.0, < 2.0)
54
- rspec-support (~> 3.8.0)
55
- rspec-mocks (3.8.2)
71
+ rspec-support (~> 3.10.0)
72
+ rspec-mocks (3.10.1)
56
73
  diff-lcs (>= 1.2.0, < 2.0)
57
- rspec-support (~> 3.8.0)
58
- rspec-support (3.8.3)
74
+ rspec-support (~> 3.10.0)
75
+ rspec-support (3.10.1)
59
76
  rspec_junit_formatter (0.4.1)
60
77
  rspec-core (>= 2, < 4, != 2.12.0)
61
- rubocop (0.75.0)
62
- jaro_winkler (~> 1.5.1)
78
+ rubocop (1.8.1)
63
79
  parallel (~> 1.10)
64
- parser (>= 2.6)
80
+ parser (>= 3.0.0.0)
65
81
  rainbow (>= 2.2.2, < 4.0)
82
+ regexp_parser (>= 1.8, < 3.0)
83
+ rexml
84
+ rubocop-ast (>= 1.2.0, < 2.0)
66
85
  ruby-progressbar (~> 1.7)
67
- unicode-display_width (>= 1.4.0, < 1.7)
68
- rubocop-performance (1.5.0)
69
- rubocop (>= 0.71.0)
70
- rubocop-rspec (1.36.0)
71
- rubocop (>= 0.68.1)
72
- ruby-progressbar (1.10.1)
86
+ unicode-display_width (>= 1.4.0, < 3.0)
87
+ rubocop-ast (1.4.0)
88
+ parser (>= 2.7.1.5)
89
+ rubocop-performance (1.9.2)
90
+ rubocop (>= 0.90.0, < 2.0)
91
+ rubocop-ast (>= 0.4.0)
92
+ rubocop-rails (2.9.1)
93
+ activesupport (>= 4.2.0)
94
+ rack (>= 1.1)
95
+ rubocop (>= 0.90.0, < 2.0)
96
+ rubocop-rake (0.5.1)
97
+ rubocop
98
+ rubocop-rspec (2.1.0)
99
+ rubocop (~> 1.0)
100
+ rubocop-ast (>= 1.1.0)
101
+ ruby-progressbar (1.11.0)
102
+ ruby2_keywords (0.0.2)
73
103
  sawyer (0.8.2)
74
104
  addressable (>= 2.3.5)
75
105
  faraday (> 0.8, < 2.0)
76
- simplecov (0.17.1)
106
+ simplecov (0.21.2)
77
107
  docile (~> 1.1)
78
- json (>= 1.8, < 3)
79
- simplecov-html (~> 0.10.0)
80
- simplecov-html (0.10.2)
81
- thor (0.20.3)
82
- unicode-display_width (1.6.0)
83
- yard (0.9.20)
108
+ simplecov-html (~> 0.11)
109
+ simplecov_json_formatter (~> 0.1)
110
+ simplecov-html (0.12.3)
111
+ simplecov_json_formatter (0.1.2)
112
+ thor (1.0.1)
113
+ tzinfo (2.0.4)
114
+ concurrent-ruby (~> 1.0)
115
+ unicode-display_width (2.0.0)
116
+ yard (0.9.26)
117
+ zeitwerk (2.4.2)
84
118
 
85
119
  PLATFORMS
86
120
  ruby
87
121
 
88
122
  DEPENDENCIES
89
- bundler (~> 1.16)
123
+ bundler (>= 2.0)
90
124
  pry-byebug
91
125
  rake (~> 13.0)
92
126
  rspec
93
127
  rspec_junit_formatter
94
128
  rubocop_challenger!
95
- simplecov
129
+ simplecov (= 0.21.2)
96
130
 
97
131
  BUNDLED WITH
98
- 1.17.3
132
+ 2.2.3
data/README.md CHANGED
@@ -56,7 +56,7 @@ version: 2
56
56
  jobs:
57
57
  rubocop_challenge:
58
58
  docker:
59
- - image: circleci/ruby:2.6-node-browsers
59
+ - image: circleci/ruby:3.0
60
60
  working_directory: ~/repo
61
61
  steps:
62
62
  - checkout
@@ -83,20 +83,6 @@ workflows:
83
83
  - rubocop_challenge
84
84
  ```
85
85
 
86
- If you added `rubocop_challenger` gem in your Gemfile so please modify script of installing and execution as following:
87
-
88
- ```yml
89
- steps:
90
- - checkout
91
- - run:
92
- name: Rubocop Challenge
93
- command: |
94
- bundle install
95
- bundle exec rubocop_challenger go \
96
- --email=rubocop-challenger@example.com \
97
- --name="Rubocop Challenger"
98
- ```
99
-
100
86
  ## CLI command references
101
87
 
102
88
  ```sh
@@ -117,30 +103,32 @@ Usage:
117
103
  rubocop_challenger go --email=EMAIL --name=NAME
118
104
 
119
105
  Options:
120
- --email=EMAIL # The Pull Request committer email
121
- --name=NAME # The Pull Request committer name
122
- f, [--file-path=FILE_PATH] # Set your ".rubocop_todo.yml" path
123
- # Default: .rubocop_todo.yml
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.
125
- [--mode=MODE] # Mode to select deletion target. You can choice "most_occurrence", "least_occurrence", or "random"
126
- # Default: most_occurrence
127
- b, [--base-branch=BASE_BRANCH] # The Branch to merge into
128
- # Default: master
129
- l, [--labels=one two three] # Label to give to Pull Request
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.
133
- [--no-create-pr] # No create a pull request (for testing)
134
- [--exclude-limit=N] # For how many exclude properties when creating the .rubocop_todo.yml
135
- [--auto-gen-timestamp], [--no-auto-gen-timestamp] # Include the date and time when creating the .rubocop_todo.yml
136
- # Default: true
106
+ --email=EMAIL # The Pull Request committer email
107
+ --name=NAME # The Pull Request committer name
108
+ f, [--file-path=FILE_PATH] # Set your ".rubocop_todo.yml" path
109
+ # Default: .rubocop_todo.yml
110
+ 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.
111
+ [--mode=MODE] # Mode to select deletion target. You can choice "most_occurrence", "least_occurrence", or "random"
112
+ # Default: most_occurrence
113
+ b, [--base-branch=BASE_BRANCH] # The Branch to merge into
114
+ # Default: master
115
+ l, [--labels=one two three] # Label to give to Pull Request
116
+ # Default: ["rubocop challenge"]
117
+ [--project-column-name=PROJECT_COLUMN_NAME] # A project column name. You can add the created PR to the GitHub project
118
+ [--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.
119
+ [--no-create-pr] # No create a pull request (for testing)
120
+ [--exclude-limit=N] # For how many exclude properties when creating the .rubocop_todo.yml
121
+ [--auto-gen-timestamp], [--no-auto-gen-timestamp] # Include the date and time when creating the .rubocop_todo.yml
122
+ # Default: true
123
+ [--only-safe-auto-correct], [--no-only-safe-auto-correct] # If given `true`, it executes `rubocop --auto-correct`,it means to correct safe cops only.
124
+ [--verbose], [--no-verbose] # Displays executing command.
137
125
 
138
126
  Run `$ rubocop --auto-correct` and create a PR to GitHub repo
139
127
  ```
140
128
 
141
129
  ## Requirement
142
130
 
143
- * Ruby 2.4 or higher
131
+ * Ruby 2.5 or higher
144
132
 
145
133
  ## Development
146
134
 
@@ -22,18 +22,22 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ['lib']
24
24
 
25
- spec.add_runtime_dependency 'pr_comet', '>= 0.2', '< 0.4'
25
+ spec.required_ruby_version = '>= 2.5'
26
+
27
+ spec.add_runtime_dependency 'pr_comet', '~> 0.5.1'
26
28
  spec.add_runtime_dependency 'rainbow'
27
- spec.add_runtime_dependency 'rubocop'
29
+ spec.add_runtime_dependency 'rubocop', '>= 0.87'
28
30
  spec.add_runtime_dependency 'rubocop-performance'
31
+ spec.add_runtime_dependency 'rubocop-rails'
32
+ spec.add_runtime_dependency 'rubocop-rake'
29
33
  spec.add_runtime_dependency 'rubocop-rspec'
30
34
  spec.add_runtime_dependency 'thor'
31
35
  spec.add_runtime_dependency 'yard'
32
36
 
33
- spec.add_development_dependency 'bundler', '~> 1.16'
37
+ spec.add_development_dependency 'bundler', '>= 2.0'
34
38
  spec.add_development_dependency 'pry-byebug'
35
39
  spec.add_development_dependency 'rake', '~> 13.0'
36
40
  spec.add_development_dependency 'rspec'
37
41
  spec.add_development_dependency 'rspec_junit_formatter'
38
- spec.add_development_dependency 'simplecov'
42
+ spec.add_development_dependency 'simplecov', '0.21.2'
39
43
  end
@@ -24,6 +24,7 @@ module RubocopChallenger
24
24
  rubocop
25
25
  rubocop-performance
26
26
  rubocop-rails
27
+ rubocop-rake
27
28
  rubocop-rspec
28
29
  ].freeze
29
30
  end
@@ -6,11 +6,15 @@ module RubocopChallenger
6
6
  class Command
7
7
  include PrComet::CommandLine
8
8
 
9
+ def initialize(verbose: false)
10
+ @verbose = verbose
11
+ end
12
+
9
13
  # Executes `$ bundle update` which excludes not installed gems
10
14
  #
11
15
  # @param gem_names [Array<String>] The target gem names
12
16
  def update(*gem_names)
13
- run('update', *gem_names.select(&method(:installed?)))
17
+ run('update', *gem_names.select { |gem_name| installed?(gem_name) })
14
18
  end
15
19
 
16
20
  # Checks the gem is installed
@@ -61,6 +61,15 @@ module RubocopChallenger
61
61
  type: :boolean,
62
62
  default: true,
63
63
  desc: 'Include the date and time when creating the .rubocop_todo.yml'
64
+ option :'only-safe-auto-correct',
65
+ type: :boolean,
66
+ default: false,
67
+ desc: 'If given `true`, it executes `rubocop --auto-correct`,' \
68
+ 'it means to correct safe cops only.'
69
+ option :verbose,
70
+ type: :boolean,
71
+ default: false,
72
+ desc: 'Displays executing command.'
64
73
  def go
65
74
  Go.new(options).exec
66
75
  rescue Errors::NoAutoCorrectableRule => e
@@ -9,6 +9,9 @@ module RubocopChallenger
9
9
  # For how many exclude properties when creating the ".rubocop_todo.yml"
10
10
  # @option auto-gen-timestamp [Boolean]
11
11
  # Include the date and time when creating the ".rubocop_todo.yml"
12
+ # @option only-safe-auto-correct [Boolean]
13
+ # If given `true`, it executes `rubocop --auto-correct`,
14
+ # it means to correct safe cops only.
12
15
  # @option name [String]
13
16
  # The author name which use at the git commit
14
17
  # @option email [String]
@@ -23,11 +26,10 @@ module RubocopChallenger
23
26
  # A target project ID. If does not supplied, this method will find a
24
27
  # project which associated the repository. When the repository has
25
28
  # multiple projects, you should supply this.
29
+ # @option verbose [Boolean]
30
+ # Displays executing command.
26
31
  def initialize(options)
27
32
  @options = options
28
- @exclude_limit = options[:'exclude-limit']
29
- @auto_gen_timestamp = options[:'auto-gen-timestamp']
30
- @pull_request = PullRequest.new(extract_pull_request_options(options))
31
33
  end
32
34
 
33
35
  # Executes Rubocop Challenge flow
@@ -45,27 +47,15 @@ module RubocopChallenger
45
47
 
46
48
  private
47
49
 
48
- attr_reader :options, :pull_request, :exclude_limit, :auto_gen_timestamp
50
+ attr_reader :options
49
51
 
50
- # Extracts options for the PullRequest class
51
- #
52
- # @param options [Hash] The target options
53
- # @return [Hash] Options for the PullRequest class
54
- def extract_pull_request_options(options)
55
- {
56
- user_name: options[:name],
57
- user_email: options[:email],
58
- base_branch: options[:base_branch],
59
- labels: options[:labels],
60
- dry_run: options[:'no-create-pr'],
61
- project_column_name: options[:project_column_name],
62
- project_id: options[:project_id]
63
- }
52
+ def pull_request
53
+ @pull_request ||= PullRequest.new(**pull_request_options)
64
54
  end
65
55
 
66
56
  # Executes `$ bundle update` for the rubocop and the associated gems
67
57
  def update_rubocop!
68
- bundler = Bundler::Command.new
58
+ bundler = Bundler::Command.new(verbose: options[:verbose])
69
59
  pull_request.commit! ':police_car: $ bundle update rubocop' do
70
60
  bundler.update(*RSPEC_GEMS)
71
61
  end
@@ -79,10 +69,7 @@ module RubocopChallenger
79
69
  def regenerate_rubocop_todo!
80
70
  before_version = scan_rubocop_version_in_rubocop_todo_file
81
71
  pull_request.commit! ':police_car: regenerate rubocop todo' do
82
- Rubocop::Command.new.auto_gen_config(
83
- exclude_limit: exclude_limit,
84
- auto_gen_timestamp: auto_gen_timestamp
85
- )
72
+ Rubocop::Command.new.auto_gen_config(**auto_gen_config_options)
86
73
  end
87
74
  after_version = scan_rubocop_version_in_rubocop_todo_file
88
75
 
@@ -107,7 +94,7 @@ module RubocopChallenger
107
94
  # @raise [Errors::NoAutoCorrectableRule]
108
95
  # Raises if there is no auto correctable rule in ".rubocop_todo.yml"
109
96
  def rubocop_challenge!(before_version, after_version)
110
- Rubocop::Challenge.exec(options[:file_path], options[:mode]).tap do |rule|
97
+ Rubocop::Challenge.exec(**rubocop_challenge_options).tap do |rule|
111
98
  pull_request.commit! ":police_car: #{rule.title}"
112
99
  end
113
100
  rescue Errors::NoAutoCorrectableRule => e
@@ -171,5 +158,33 @@ module RubocopChallenger
171
158
  todo_reader = Rubocop::TodoReader.new(options[:file_path])
172
159
  todo_reader.all_rules.include?(rule)
173
160
  end
161
+
162
+ def rubocop_challenge_options
163
+ {
164
+ file_path: options[:file_path],
165
+ mode: options[:mode],
166
+ only_safe_auto_correct: options[:'only-safe-auto-correct']
167
+ }
168
+ end
169
+
170
+ def pull_request_options
171
+ {
172
+ user_name: options[:name],
173
+ user_email: options[:email],
174
+ base_branch: options[:base_branch],
175
+ labels: options[:labels],
176
+ dry_run: options[:'no-create-pr'],
177
+ project_column_name: options[:project_column_name],
178
+ project_id: options[:project_id],
179
+ verbose: options[:verbose]
180
+ }
181
+ end
182
+
183
+ def auto_gen_config_options
184
+ {
185
+ exclude_limit: options[:'exclude-limit'],
186
+ auto_gen_timestamp: options[:'auto-gen-timestamp']
187
+ }
188
+ end
174
189
  end
175
190
  end
@@ -21,12 +21,15 @@ module RubocopChallenger
21
21
  # A target project ID. If does not supplied, this method will find a
22
22
  # project which associated the repository. When the repository has
23
23
  # multiple projects, you should supply this.
24
- def initialize(user_name:, user_email:, **options)
24
+ # @option verbose [Boolean]
25
+ # Displays executing command.
26
+ def initialize(user_name:, user_email:, **options) # rubocop:disable Metrics/MethodLength
25
27
  @pr_comet = PrComet.new(
26
28
  base: options[:base_branch],
27
29
  branch: "rubocop-challenge/#{timestamp}",
28
30
  user_name: user_name,
29
- user_email: user_email
31
+ user_email: user_email,
32
+ verbose: options[:verbose]
30
33
  )
31
34
  @labels = options[:labels]
32
35
  @dry_run = options[:dry_run]
@@ -90,7 +93,7 @@ module RubocopChallenger
90
93
  project_id: project_id
91
94
  }.merge(pr_comet_options)
92
95
 
93
- pr_comet.create!(options) unless dry_run
96
+ pr_comet.create!(**options) unless dry_run
94
97
  end
95
98
 
96
99
  # @param before_version [String]
@@ -4,16 +4,17 @@ module RubocopChallenger
4
4
  module Rubocop
5
5
  # To execute Rubocop Challenge flow
6
6
  class Challenge
7
- def self.exec(file_path, mode)
8
- new(file_path, mode).send(:exec)
7
+ def self.exec(file_path:, mode:, only_safe_auto_correct:)
8
+ new(file_path, mode, only_safe_auto_correct).send(:exec)
9
9
  end
10
10
 
11
11
  private
12
12
 
13
- attr_reader :mode, :command, :todo_reader, :todo_writer
13
+ attr_reader :mode, :only_safe_auto_correct, :command, :todo_reader, :todo_writer
14
14
 
15
- def initialize(file_path, mode)
15
+ def initialize(file_path, mode, only_safe_auto_correct)
16
16
  @mode = mode
17
+ @only_safe_auto_correct = only_safe_auto_correct
17
18
  @command = Rubocop::Command.new
18
19
  @todo_reader = Rubocop::TodoReader.new(file_path)
19
20
  @todo_writer = Rubocop::TodoWriter.new(file_path)
@@ -23,7 +24,7 @@ module RubocopChallenger
23
24
  def exec
24
25
  verify_target_rule
25
26
  todo_writer.delete_rule(target_rule)
26
- command.auto_correct
27
+ command.auto_correct(only_safe_auto_correct: only_safe_auto_correct)
27
28
  target_rule
28
29
  end
29
30
 
@@ -7,8 +7,12 @@ module RubocopChallenger
7
7
  include PrComet::CommandLine
8
8
 
9
9
  # Executes auto correction
10
- def auto_correct
11
- run('--auto-correct')
10
+ def auto_correct(only_safe_auto_correct:)
11
+ if only_safe_auto_correct
12
+ run('--auto-correct')
13
+ else
14
+ run('--auto-correct-all')
15
+ end
12
16
  end
13
17
 
14
18
  # Generates `.rubocop_todo.yml`
@@ -27,7 +27,7 @@ module RubocopChallenger
27
27
  end
28
28
 
29
29
  def auto_correctable?
30
- contents =~ /# Cop supports --auto-correct/
30
+ contents.include?('# Cop supports --auto-correct')
31
31
  end
32
32
 
33
33
  def rubydoc_url
@@ -27,11 +27,9 @@ module RubocopChallenger
27
27
  # Loads gems for YARDoc creation
28
28
  def load_rspec_gems!
29
29
  RSPEC_GEMS.each do |dependency|
30
- begin
31
- require dependency
32
- rescue LoadError
33
- nil
34
- end
30
+ require dependency
31
+ rescue LoadError
32
+ nil
35
33
  end
36
34
  end
37
35
 
@@ -54,11 +52,15 @@ module RubocopChallenger
54
52
  end
55
53
 
56
54
  def source_file_path
57
- instance_methods
58
- .map { |m| cop_class.instance_method(m).source_location }
59
- .reject(&:nil?)
60
- .map(&:first)
61
- .first
55
+ if Object.respond_to?(:const_source_location)
56
+ Object.const_source_location(cop_class.name).first
57
+ else
58
+ instance_methods
59
+ .map { |m| cop_class.instance_method(m).source_location }
60
+ .reject(&:nil?)
61
+ .map(&:first)
62
+ .first
63
+ end
62
64
  end
63
65
  end
64
66
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubocopChallenger
4
- VERSION = '2.0.0.pre9'
4
+ VERSION = '2.2.0'
5
5
  end
@@ -1,5 +1,9 @@
1
1
  # Rubocop challenge!
2
2
 
3
+ [<%= title %>](<%= rubydoc_url %>)
4
+
5
+ ## Description
6
+
3
7
  Sorry! Something went wrong! :bow:
4
8
  Please report bugs [here](https://github.com/ryz310/rubocop_challenger/issues/new?assignees=ryz310&labels=bug&template=bug_report.md) with following error information.
5
9
 
metadata CHANGED
@@ -1,37 +1,59 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop_challenger
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.pre9
4
+ version: 2.2.0
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-10-03 00:00:00.000000000 Z
11
+ date: 2021-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pr_comet
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.2'
20
- - - "<"
19
+ version: 0.5.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
21
25
  - !ruby/object:Gem::Version
22
- version: '0.4'
26
+ version: 0.5.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: rainbow
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
23
34
  type: :runtime
24
35
  prerelease: false
25
36
  version_requirements: !ruby/object:Gem::Requirement
26
37
  requirements:
27
38
  - - ">="
28
39
  - !ruby/object:Gem::Version
29
- version: '0.2'
30
- - - "<"
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
31
46
  - !ruby/object:Gem::Version
32
- version: '0.4'
47
+ version: '0.87'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0.87'
33
55
  - !ruby/object:Gem::Dependency
34
- name: rainbow
56
+ name: rubocop-performance
35
57
  requirement: !ruby/object:Gem::Requirement
36
58
  requirements:
37
59
  - - ">="
@@ -45,7 +67,7 @@ dependencies:
45
67
  - !ruby/object:Gem::Version
46
68
  version: '0'
47
69
  - !ruby/object:Gem::Dependency
48
- name: rubocop
70
+ name: rubocop-rails
49
71
  requirement: !ruby/object:Gem::Requirement
50
72
  requirements:
51
73
  - - ">="
@@ -59,7 +81,7 @@ dependencies:
59
81
  - !ruby/object:Gem::Version
60
82
  version: '0'
61
83
  - !ruby/object:Gem::Dependency
62
- name: rubocop-performance
84
+ name: rubocop-rake
63
85
  requirement: !ruby/object:Gem::Requirement
64
86
  requirements:
65
87
  - - ">="
@@ -118,16 +140,16 @@ dependencies:
118
140
  name: bundler
119
141
  requirement: !ruby/object:Gem::Requirement
120
142
  requirements:
121
- - - "~>"
143
+ - - ">="
122
144
  - !ruby/object:Gem::Version
123
- version: '1.16'
145
+ version: '2.0'
124
146
  type: :development
125
147
  prerelease: false
126
148
  version_requirements: !ruby/object:Gem::Requirement
127
149
  requirements:
128
- - - "~>"
150
+ - - ">="
129
151
  - !ruby/object:Gem::Version
130
- version: '1.16'
152
+ version: '2.0'
131
153
  - !ruby/object:Gem::Dependency
132
154
  name: pry-byebug
133
155
  requirement: !ruby/object:Gem::Requirement
@@ -188,16 +210,16 @@ dependencies:
188
210
  name: simplecov
189
211
  requirement: !ruby/object:Gem::Requirement
190
212
  requirements:
191
- - - ">="
213
+ - - '='
192
214
  - !ruby/object:Gem::Version
193
- version: '0'
215
+ version: 0.21.2
194
216
  type: :development
195
217
  prerelease: false
196
218
  version_requirements: !ruby/object:Gem::Requirement
197
219
  requirements:
198
- - - ">="
220
+ - - '='
199
221
  - !ruby/object:Gem::Version
200
- version: '0'
222
+ version: 0.21.2
201
223
  description: Make a clean your rubocop_todo.yml with CI
202
224
  email:
203
225
  - r-sato@feedforce.jp
@@ -207,13 +229,16 @@ extensions: []
207
229
  extra_rdoc_files: []
208
230
  files:
209
231
  - ".circleci/config.yml"
232
+ - ".dependabot/config.yml"
210
233
  - ".envrc.skeleton"
211
234
  - ".gem_comet.yml"
212
235
  - ".github/ISSUE_TEMPLATE/bug_report.md"
213
236
  - ".gitignore"
214
237
  - ".rspec"
215
238
  - ".rubocop.yml"
239
+ - ".rubocop_challenge.yml"
216
240
  - ".rubocop_todo.yml"
241
+ - CHANGELOG.md
217
242
  - CODE_OF_CONDUCT.md
218
243
  - Gemfile
219
244
  - Gemfile.lock
@@ -260,14 +285,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
260
285
  requirements:
261
286
  - - ">="
262
287
  - !ruby/object:Gem::Version
263
- version: '0'
288
+ version: '2.5'
264
289
  required_rubygems_version: !ruby/object:Gem::Requirement
265
290
  requirements:
266
- - - ">"
291
+ - - ">="
267
292
  - !ruby/object:Gem::Version
268
- version: 1.3.1
293
+ version: '0'
269
294
  requirements: []
270
- rubygems_version: 3.0.3
295
+ rubygems_version: 3.2.3
271
296
  signing_key:
272
297
  specification_version: 4
273
298
  summary: Make a clean your rubocop_todo.yml with CI