rubocop_auto_corrector 0.1.0.beta1 → 0.1.0.beta2

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: a49a13088441b5013dc3201f355bdbe72dbed856f382e1e980ff6a1226708fb0
4
- data.tar.gz: 0c7c9f3c2a254bd55d5c5011137dabef38c49e520ae45934e36466efb67c3d74
3
+ metadata.gz: 327090c9bbd094d7a6dd418e76bf9821122dc5227919cefc4b2d891ad11e233c
4
+ data.tar.gz: 7fc67732f6da3c4af91ab25c493b252368ac8370c91952b09cac1d97c7066dea
5
5
  SHA512:
6
- metadata.gz: 4c0f3e1c67c1a6d07f2a7e134c2ce99c0d45e042ede33c08f8c881f78cd87ae59a8b44fc274b33a9c6fc5681565a970ffa7ad427189841ab70f4ddcc2c977840
7
- data.tar.gz: e3064d3ab780f08597235065f6502aec40e6df1497ef13783f0beea8382771d9298cda56a1fcef33cde002c235e2bc29abbd3445ed511ee8fff6411b32ca4f3f
6
+ metadata.gz: a6777932b5de6f3495f5dc03e7b171d0578fdbec59c8136571d0f836306ed58a471628b420dcc1ed5015ff6f6b48fab5368c8646a5be69332545009abe337b2c
7
+ data.tar.gz: a2201469cab50eb566860d9a4efaa41ed8bf514c15069f7a2ad8975645a656bf71a75008bf30e53ba9c8bed2eefbca94a37bbf20185cfea406938225e851ea2a
@@ -0,0 +1 @@
1
+ repo_token: Qeqfezb3pV4exGsEupqPmLm4jYYZYVciw
@@ -1,7 +1,34 @@
1
- ---
2
1
  sudo: false
3
2
  language: ruby
4
3
  cache: bundler
5
4
  rvm:
6
- - 2.5.3
7
- before_install: gem install bundler -v 1.17.1
5
+ - 2.2
6
+ - 2.3
7
+ - 2.4
8
+ - 2.5
9
+ - ruby-head
10
+ bundler_args: "--jobs=4"
11
+ before_install:
12
+ - gem update --system --no-document
13
+ - gem install bundler --no-document
14
+ before_script:
15
+ - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
16
+ - chmod +x ./cc-test-reporter
17
+ - ./cc-test-reporter before-build
18
+ script:
19
+ - bundle exec rspec
20
+ after_script:
21
+ - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
22
+ branches:
23
+ only:
24
+ - master
25
+ notifications:
26
+ email: false
27
+ slack:
28
+ secure: StdMcwf2erVzwfR45Rsw8hKmzaCdg7xl6UzEyPkyrNi1eKS/qeys8Ga1Q5I4HFlmybpBuOTk8dwiya0svGIJtABPUeIe7UjkmGDhS6Q+K+Gk8tNayrvOXgS71JJlqPdTVoWCPqNeqs/a+G9xa/T/TcQgZhh+57Jl9fH4hz/UaXhO0uVuL5LwHvKW6UX35xbAnIdPqMXF7finqF8nxU8nzaGvZ+UrUmnLDIRBeeW1eSopWQP7O+89BM+Nr7vC0oC/fJDcszTnZwYk6b38z9kD8Rvb3H0BktERmeR4QROdokq8BeXKj7uNluHZcr7KQc8qhJA7jAhx326A2oi8C+Yyl4Mz75WsQ+a+JFnVwYgpTXjd4/DnTEA5JUokO2DzsDmcPgnvOgOzAVWdtx3Q96GIcs9vU4X1HuIlctye05ylwVUbOE6up4m47NYLkVmjfYgUq3YVGrqprrlv5gqDqTPb8Il7l+plEobvZhM2cjGx+A/HkpVDgiqfE2IwP3BBeZp5Nkn2P4XUAoFtHkVuTVly55b/Jtnvo83UTv6qJWvTKjM7EorQT9+NlsWe64z5T6VVM6Z5FYHIofFpyRdqSTxcP2AHVpHFckw19px3tC4WiwZzgj4PuMvwcHsgK80wErYOJxlkVAUKuw1nh7g8KZpHjHXp1bCwM6pIK4F9PGMFY/g=
29
+ matrix:
30
+ allow_failures:
31
+ - rvm: ruby-head
32
+ env:
33
+ global:
34
+ - CC_TEST_REPORTER_ID=ae386af24f1ca076680045ecadf328fc77fd71bf6c014b5503d406d8bd87c42a
data/README.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  Run `rubocop --auto-correct && git commit` with each cop.
4
4
 
5
+ [![Gem Version](https://badge.fury.io/rb/rubocop_auto_corrector.svg)](https://badge.fury.io/rb/rubocop_auto_corrector)
6
+ [![Build Status](https://travis-ci.org/sue445/rubocop_auto_corrector.svg?branch=master)](https://travis-ci.org/sue445/rubocop_auto_corrector)
7
+ [![Maintainability](https://api.codeclimate.com/v1/badges/384834e50f94e344c439/maintainability)](https://codeclimate.com/github/sue445/rubocop_auto_corrector/maintainability)
8
+ [![Coverage Status](https://coveralls.io/repos/github/sue445/rubocop_auto_corrector/badge.svg?branch=master)](https://coveralls.io/github/sue445/rubocop_auto_corrector?branch=master)
9
+
5
10
  # Example
6
11
  See https://github.com/sue445/rubocop_auto_corrector/pull/3/commits
7
12
 
@@ -1,4 +1,5 @@
1
1
  require 'rubocop_auto_corrector/version'
2
+ require 'rubocop_auto_corrector/cop_finder'
2
3
 
3
4
  module RubocopAutoCorrector
4
5
  class Error < StandardError; end
@@ -2,6 +2,7 @@ module RubocopAutoCorrector
2
2
  require 'json'
3
3
  require 'yaml'
4
4
  require 'rubocop'
5
+ require 'rubocop_auto_corrector'
5
6
 
6
7
  class CLI
7
8
  DEFAULT_ORDER = 100
@@ -38,21 +39,13 @@ module RubocopAutoCorrector
38
39
  cop_names.uniq
39
40
  end
40
41
 
42
+ # Whether this cop is auto correctable
43
+ #
44
+ # @param cop_name [String]
45
+ #
46
+ # @return [Boolean]
41
47
  def auto_correctable?(cop_name)
42
- cop_class_name = "::RuboCop::Cop::#{cop_name.gsub('/', '::')}"
43
- plugin_name = "rubocop-#{cop_name.split('/').first.downcase}"
44
-
45
- begin
46
- Object.new.instance_eval <<-RUBY
47
- begin
48
- require '#{plugin_name}'
49
- rescue LoadError
50
- end
51
- #{cop_class_name}.new.respond_to?(:autocorrect)
52
- RUBY
53
- rescue NameError
54
- false
55
- end
48
+ RubocopAutoCorrector::CopFinder.new(cop_name).auto_correctable?
56
49
  end
57
50
 
58
51
  private
@@ -0,0 +1,56 @@
1
+ module RubocopAutoCorrector
2
+ class CopFinder
3
+ attr_reader :cop_name
4
+
5
+ # @param cop_name [String] e.g. Metrics/AbcSize
6
+ def initialize(cop_name)
7
+ @cop_name = cop_name
8
+ end
9
+
10
+ # Whether this cop is auto correctable
11
+ # @return [Boolean]
12
+ def auto_correctable?
13
+ Object.new.instance_eval <<-RUBY
14
+ begin
15
+ require '#{gem_name}'
16
+ rescue LoadError
17
+ end
18
+ #{cop_class_name}.new.respond_to?(:autocorrect)
19
+ RUBY
20
+ rescue NameError
21
+ false
22
+ end
23
+
24
+ # @return [String]
25
+ def gem_name
26
+ gem_name, = rubocop_cop_info
27
+ gem_name
28
+ end
29
+
30
+ # @return [String]
31
+ def cop_class_name
32
+ _, cop_class = rubocop_cop_info
33
+ cop_class
34
+ end
35
+
36
+ private
37
+
38
+ def rubocop_cop_info
39
+ cop_class_suffix = cop_name.gsub('/', '::')
40
+
41
+ case cop_name
42
+ when %r{^RSpec/}
43
+ ['rubocop-rspec', "::RuboCop::Cop::#{cop_class_suffix}"]
44
+ when %r{^(FactoryBot|Capybara)/}, 'Rails/HttpStatus'
45
+ ['rubocop-rspec', "::RuboCop::Cop::RSpec::#{cop_class_suffix}"]
46
+ when %r{^(Layout|Lint|Metrics|Naming|Performance|Rails|Security|Style|Bundler|Gemspec)/}
47
+ # Official cops
48
+ ['rubocop', "::RuboCop::Cop::#{cop_class_suffix}"]
49
+ else
50
+ # Unknown cops
51
+ department = cop_name.split('/').first.downcase
52
+ ["rubocop-#{department}", "::RuboCop::Cop::#{cop_class_suffix}"]
53
+ end
54
+ end
55
+ end
56
+ end
@@ -1,3 +1,3 @@
1
1
  module RubocopAutoCorrector
2
- VERSION = '0.1.0.beta1'.freeze
2
+ VERSION = '0.1.0.beta2'.freeze
3
3
  end
@@ -36,9 +36,11 @@ Gem::Specification.new do |spec|
36
36
  spec.add_dependency 'rubocop', '>= 0.49.0'
37
37
 
38
38
  spec.add_development_dependency 'bundler', '~> 1.17'
39
+ spec.add_development_dependency 'coveralls'
39
40
  spec.add_development_dependency 'rake', '~> 10.0'
40
41
  spec.add_development_dependency 'rspec', '~> 3.0'
41
42
  spec.add_development_dependency 'rspec-parameterized'
42
43
  spec.add_development_dependency 'rspec-temp_dir', '>= 1.1.0'
43
44
  spec.add_development_dependency 'rubocop-rspec'
45
+ spec.add_development_dependency 'simplecov'
44
46
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop_auto_corrector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.beta1
4
+ version: 0.1.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - sue445
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-28 00:00:00.000000000 Z
11
+ date: 2018-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.17'
41
+ - !ruby/object:Gem::Dependency
42
+ name: coveralls
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +122,20 @@ dependencies:
108
122
  - - ">="
109
123
  - !ruby/object:Gem::Version
110
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: simplecov
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
111
139
  description: Run `rubocop --auto-correct && git commit` with each cop.
112
140
  email:
113
141
  - sue445@sue445.net
@@ -116,6 +144,7 @@ executables:
116
144
  extensions: []
117
145
  extra_rdoc_files: []
118
146
  files:
147
+ - ".coveralls.yml"
119
148
  - ".gitignore"
120
149
  - ".rspec"
121
150
  - ".rubocop.yml"
@@ -130,6 +159,7 @@ files:
130
159
  - exe/rubocop_auto_corrector
131
160
  - lib/rubocop_auto_corrector.rb
132
161
  - lib/rubocop_auto_corrector/cli.rb
162
+ - lib/rubocop_auto_corrector/cop_finder.rb
133
163
  - lib/rubocop_auto_corrector/data.yml
134
164
  - lib/rubocop_auto_corrector/version.rb
135
165
  - rubocop_auto_corrector.gemspec