rubocop_challenger 0.5.0 → 0.5.1
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/.rubocop.yml +4 -0
- data/.rubocop_todo.yml +1 -39
- data/Gemfile.lock +19 -2
- data/README.md +1 -1
- data/bin/create_release_pr +1 -1
- data/challenger.gemspec +2 -3
- data/lib/rubocop_challenger/cli.rb +6 -4
- data/lib/rubocop_challenger/github/pr_template.rb +6 -1
- data/lib/rubocop_challenger/rubocop/challenge.rb +1 -0
- data/lib/rubocop_challenger/rubocop/command.rb +1 -0
- data/lib/rubocop_challenger/rubocop/rule.rb +1 -0
- data/lib/rubocop_challenger/rubocop/todo_reader.rb +1 -0
- data/lib/rubocop_challenger/rubocop/todo_writer.rb +3 -1
- data/lib/rubocop_challenger/rubocop/yardoc.rb +1 -0
- data/lib/rubocop_challenger/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 77bde4ee7a301ae854cd5e1a71d5a0e31f11ed1ebe4d3c2c99e0f56e2711ff6c
|
|
4
|
+
data.tar.gz: cb3a66ec8189001a93c2146cad85339c6d1cbc8c5878ea13913c4524928cceea
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e472c3f77937e3abf231c5ced85dc9de15ac3a3e76ea486abdfdfbd129efbf75951b39cc96eeb1e3b650ed753fc6ff83d3e21977a00c6439e76e0a99b4e88420
|
|
7
|
+
data.tar.gz: ee1848b91fe5d5ec7d0a314ca06d8003532e24d24eb5509fdaebe0a8283baeab574d2f100883fb4d23048e5a4ceca772e1b48537727ff325cf8024c8ed9b7cb0
|
data/.rubocop.yml
CHANGED
data/.rubocop_todo.yml
CHANGED
|
@@ -1,45 +1,7 @@
|
|
|
1
1
|
# This configuration was generated by
|
|
2
2
|
# `rubocop --auto-gen-config`
|
|
3
|
-
# on 2018-
|
|
3
|
+
# on 2018-11-01 12:15:38 +0900 using RuboCop version 0.60.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
|
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
|
8
|
-
|
|
9
|
-
# Offense count: 7
|
|
10
|
-
# Configuration parameters: CountComments, ExcludedMethods.
|
|
11
|
-
# ExcludedMethods: refine
|
|
12
|
-
Metrics/BlockLength:
|
|
13
|
-
Max: 112
|
|
14
|
-
|
|
15
|
-
# Offense count: 2
|
|
16
|
-
# Configuration parameters: Max.
|
|
17
|
-
RSpec/ExampleLength:
|
|
18
|
-
Exclude:
|
|
19
|
-
- 'spec/rubocop_challenger/rubocop/todo_reader_spec.rb'
|
|
20
|
-
|
|
21
|
-
# Offense count: 9
|
|
22
|
-
Style/Documentation:
|
|
23
|
-
Exclude:
|
|
24
|
-
- 'spec/**/*'
|
|
25
|
-
- 'test/**/*'
|
|
26
|
-
- 'lib/rubocop_challenger/cli.rb'
|
|
27
|
-
- 'lib/rubocop_challenger/github/pr_template.rb'
|
|
28
|
-
- 'lib/rubocop_challenger/rubocop/challenge.rb'
|
|
29
|
-
- 'lib/rubocop_challenger/rubocop/command.rb'
|
|
30
|
-
- 'lib/rubocop_challenger/rubocop/rule.rb'
|
|
31
|
-
- 'lib/rubocop_challenger/rubocop/todo_reader.rb'
|
|
32
|
-
- 'lib/rubocop_challenger/rubocop/todo_writer.rb'
|
|
33
|
-
- 'lib/rubocop_challenger/rubocop/yardoc.rb'
|
|
34
|
-
|
|
35
|
-
# Offense count: 1
|
|
36
|
-
# Cop supports --auto-correct.
|
|
37
|
-
Style/MutableConstant:
|
|
38
|
-
Exclude:
|
|
39
|
-
- 'bin/create_release_pr'
|
|
40
|
-
|
|
41
|
-
# Offense count: 7
|
|
42
|
-
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
|
43
|
-
# URISchemes: http, https
|
|
44
|
-
Metrics/LineLength:
|
|
45
|
-
Max: 87
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
rubocop_challenger (0.5.
|
|
4
|
+
rubocop_challenger (0.5.1)
|
|
5
5
|
pr-daikou (~> 0.2.0)
|
|
6
6
|
rubocop
|
|
7
7
|
rubocop-rspec
|
|
@@ -12,8 +12,16 @@ GEM
|
|
|
12
12
|
remote: https://rubygems.org/
|
|
13
13
|
specs:
|
|
14
14
|
ast (2.4.0)
|
|
15
|
+
coveralls (0.8.22)
|
|
16
|
+
json (>= 1.8, < 3)
|
|
17
|
+
simplecov (~> 0.16.1)
|
|
18
|
+
term-ansicolor (~> 1.3)
|
|
19
|
+
thor (~> 0.19.4)
|
|
20
|
+
tins (~> 1.6)
|
|
15
21
|
diff-lcs (1.3)
|
|
22
|
+
docile (1.3.1)
|
|
16
23
|
jaro_winkler (1.5.1)
|
|
24
|
+
json (2.1.0)
|
|
17
25
|
parallel (1.12.1)
|
|
18
26
|
parser (2.5.3.0)
|
|
19
27
|
ast (~> 2.4.0)
|
|
@@ -47,7 +55,15 @@ GEM
|
|
|
47
55
|
rubocop-rspec (1.30.0)
|
|
48
56
|
rubocop (>= 0.58.0)
|
|
49
57
|
ruby-progressbar (1.10.0)
|
|
50
|
-
|
|
58
|
+
simplecov (0.16.1)
|
|
59
|
+
docile (~> 1.1)
|
|
60
|
+
json (>= 1.8, < 3)
|
|
61
|
+
simplecov-html (~> 0.10.0)
|
|
62
|
+
simplecov-html (0.10.2)
|
|
63
|
+
term-ansicolor (1.6.0)
|
|
64
|
+
tins (~> 1.0)
|
|
65
|
+
thor (0.19.4)
|
|
66
|
+
tins (1.17.0)
|
|
51
67
|
unicode-display_width (1.4.0)
|
|
52
68
|
yard (0.9.16)
|
|
53
69
|
|
|
@@ -56,6 +72,7 @@ PLATFORMS
|
|
|
56
72
|
|
|
57
73
|
DEPENDENCIES
|
|
58
74
|
bundler (~> 1.16)
|
|
75
|
+
coveralls
|
|
59
76
|
rake (~> 10.0)
|
|
60
77
|
rspec
|
|
61
78
|
rspec_junit_formatter
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Rubocop Challenger
|
|
2
2
|
|
|
3
|
-
[](https://circleci.com/gh/ryz310/rubocop_challenger/tree/master) [](https://badge.fury.io/rb/rubocop_challenger) [](https://waffle.io/ryz310/rubocop_challenger)
|
|
3
|
+
[](https://circleci.com/gh/ryz310/rubocop_challenger/tree/master) [](https://badge.fury.io/rb/rubocop_challenger) [](https://coveralls.io/github/ryz310/rubocop_challenger?branch=Install-coveralls) [](https://waffle.io/ryz310/rubocop_challenger)
|
|
4
4
|
|
|
5
5
|
If you introduce [`rubocop`](https://github.com/rubocop-hq/rubocop) to an existing Rails project later, you will use [`$ rubocop --auto-gen-config`](https://github.com/rubocop-hq/rubocop/blob/master/manual/configuration.md#automatically-generated-configuration). But it will make a huge `.rubocop_todo.yml` and make you despair.
|
|
6
6
|
On the other hand, `rubocop` has [`--auto-correct`](https://github.com/rubocop-hq/rubocop/blob/master/manual/basic_usage.md#other-useful-command-line-flags) option, it is possible to automatically repair the writing which does not conform to the rule. But since it occasionally destroys your code, it is quite dangerous to apply all at once.
|
data/bin/create_release_pr
CHANGED
data/challenger.gemspec
CHANGED
|
@@ -15,10 +15,8 @@ Gem::Specification.new do |spec|
|
|
|
15
15
|
spec.homepage = 'https://github.com/ryz310/rubocop_challenger'
|
|
16
16
|
spec.license = 'MIT'
|
|
17
17
|
|
|
18
|
-
# Specify which files should be added to the gem when it is released.
|
|
19
|
-
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
20
18
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
|
21
|
-
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^
|
|
19
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^spec/}) }
|
|
22
20
|
end
|
|
23
21
|
spec.bindir = 'exe'
|
|
24
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
@@ -31,6 +29,7 @@ Gem::Specification.new do |spec|
|
|
|
31
29
|
spec.add_runtime_dependency 'yard'
|
|
32
30
|
|
|
33
31
|
spec.add_development_dependency 'bundler', '~> 1.16'
|
|
32
|
+
spec.add_development_dependency 'coveralls'
|
|
34
33
|
spec.add_development_dependency 'rake', '~> 10.0'
|
|
35
34
|
spec.add_development_dependency 'rspec'
|
|
36
35
|
spec.add_development_dependency 'rspec_junit_formatter'
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
require 'thor'
|
|
4
4
|
|
|
5
5
|
module RubocopChallenger
|
|
6
|
+
# To define CLI commands
|
|
6
7
|
class CLI < Thor
|
|
7
|
-
desc 'go', 'Run `$ rubocop --auto-correct` and create PR to
|
|
8
|
+
desc 'go', 'Run `$ rubocop --auto-correct` and create PR to GitHub repo'
|
|
8
9
|
option :email,
|
|
9
10
|
required: true,
|
|
10
11
|
type: :string,
|
|
@@ -28,7 +29,8 @@ module RubocopChallenger
|
|
|
28
29
|
type: :string,
|
|
29
30
|
default: 'most_occurrence',
|
|
30
31
|
desc: 'Mode to select deletion target. ' \
|
|
31
|
-
'You can choice "most_occurrence", "least_occurrence",
|
|
32
|
+
'You can choice "most_occurrence", "least_occurrence", ' \
|
|
33
|
+
'or "random"'
|
|
32
34
|
option :base,
|
|
33
35
|
type: :string,
|
|
34
36
|
default: 'master',
|
|
@@ -60,9 +62,9 @@ module RubocopChallenger
|
|
|
60
62
|
puts RubocopChallenger::VERSION
|
|
61
63
|
end
|
|
62
64
|
|
|
65
|
+
# Workaround to return exit code 1 when an error occurs
|
|
66
|
+
# @see https://github.com/erikhuda/thor/issues/244
|
|
63
67
|
module ClassMethods
|
|
64
|
-
# Workaround to return exit code 1 when an error occurs
|
|
65
|
-
# @see https://github.com/erikhuda/thor/issues/244
|
|
66
68
|
def exit_on_failure?
|
|
67
69
|
true
|
|
68
70
|
end
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
module RubocopChallenger
|
|
4
4
|
module Github
|
|
5
|
+
# To generate Pull Request template as markdown
|
|
5
6
|
class PrTemplate
|
|
6
7
|
def initialize(rule, template_path = nil)
|
|
7
|
-
template_path ||=
|
|
8
|
+
template_path ||= default_template_path
|
|
8
9
|
@template = File.read(template_path)
|
|
9
10
|
@rule = rule
|
|
10
11
|
@yardoc = Rubocop::Yardoc.new(title)
|
|
@@ -21,6 +22,10 @@ module RubocopChallenger
|
|
|
21
22
|
|
|
22
23
|
attr_reader :template, :rule, :yardoc
|
|
23
24
|
|
|
25
|
+
def default_template_path
|
|
26
|
+
File.expand_path('../../templates/default.md.erb', __dir__)
|
|
27
|
+
end
|
|
28
|
+
|
|
24
29
|
def title
|
|
25
30
|
rule.title
|
|
26
31
|
end
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module RubocopChallenger
|
|
4
4
|
module Rubocop
|
|
5
|
+
# To edit `.rubocop_todo.yml`
|
|
5
6
|
class TodoWriter
|
|
6
7
|
def initialize(source, destination = source)
|
|
7
8
|
@source = source
|
|
@@ -10,7 +11,8 @@ module RubocopChallenger
|
|
|
10
11
|
|
|
11
12
|
def delete_rule(rubocop_rule)
|
|
12
13
|
current_data = File.read(source)
|
|
13
|
-
|
|
14
|
+
contents = current_data.sub("\n#{rubocop_rule.contents}", '')
|
|
15
|
+
File.write(destination, contents)
|
|
14
16
|
end
|
|
15
17
|
|
|
16
18
|
private
|
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: 0.5.
|
|
4
|
+
version: 0.5.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- ryosuke_sato
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-
|
|
11
|
+
date: 2018-11-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: pr-daikou
|
|
@@ -94,6 +94,20 @@ dependencies:
|
|
|
94
94
|
- - "~>"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
96
|
version: '1.16'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: coveralls
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '0'
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - ">="
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '0'
|
|
97
111
|
- !ruby/object:Gem::Dependency
|
|
98
112
|
name: rake
|
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|