pronto-rubocop 0.11.0 → 0.11.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0588bd2b9b7d1c7a702dba2d9a5cdfc74e4d5df1eaa893557aa13445ab82c9d7'
4
- data.tar.gz: 6bd89ce4bcec0647adc3c62abe770c8f43aff21d77b96a6c9679f6e35ffc84c2
3
+ metadata.gz: 9d5cd91a500a54c1184c0850685fd32ca72a832a82fd9c3a57b840d5b8eca6b2
4
+ data.tar.gz: 3b41e6777620b40b9d7e3d0d20946294c24acf8b081b32667e5adc69e2f03810
5
5
  SHA512:
6
- metadata.gz: 2177a1cdf31387028a4dac6aed07b0df8379c33e84d80ac3b1329187beb99ad6b3bb490d1c70b4c098345b5cfac538463beff2767fe0bb28c094e78cbdcd14f1
7
- data.tar.gz: 48856034490369353ed28755decda13d3e0f225468c8600a2706257ec2a119b88516de1757e7b5a5969ebd76e00e16fd908ca2b0e642901c1f51389a6ce483fc
6
+ metadata.gz: 7e440e9d28f6ef2b46ba4b6556164dcf97298e7926a972f5997417275dc4b2611e434ecdca32ccf8dc4550daa2d3561ae66871404b1773a306b3d93a8eb90a90
7
+ data.tar.gz: 81f24db46df5d142535c545c3943514ebcb5b138f08171e17a5c8e72178ae014fc1d67b206a425e7e34d04fc6dad7f0839ba56b4a5ea9e3291434ebaf809e74f
@@ -7,13 +7,25 @@ on:
7
7
  branches: [ master ]
8
8
 
9
9
  jobs:
10
- ruby:
10
+ unit_tests:
11
11
  runs-on: ubuntu-latest
12
12
  strategy:
13
13
  matrix:
14
- ruby: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0']
14
+ ruby: ['2.4', '2.5', '2.6', '2.7', '3.0']
15
+ rubocop: ['0.63.1', '0.81.0', '0.84.0', '0.85.0', '0.86.0', '0.87.0', '< 1.0', '1.0.0', '< 2.0']
16
+ include:
17
+ - ruby: '2.3'
18
+ rubocop: '0.63.1'
19
+ - ruby: '2.3'
20
+ rubocop: '0.81.0'
21
+ fail-fast: false
15
22
  steps:
16
23
  - uses: actions/checkout@v2
24
+ - name: use specific rubocop version
25
+ run: echo "gem 'rubocop', '${{ matrix.rubocop }}'" > Gemfile.local
26
+ - name: use specific rubocop-ast version (if required)
27
+ if: matrix.rubocop == '0.84.0' || matrix.rubocop == '0.85.0'
28
+ run: echo "gem 'rubocop-ast', '< 0.7.0'" >> Gemfile.local
17
29
  - uses: ruby/setup-ruby@v1
18
30
  with:
19
31
  ruby-version: ${{ matrix.ruby }}
data/README.md CHANGED
@@ -38,3 +38,17 @@ the Pull Request.
38
38
  For example:
39
39
 
40
40
  ![GitHub screenshot with suggestion](https://user-images.githubusercontent.com/132/50402757-1bd75b80-0799-11e9-809f-8b8a23ed33f6.png)
41
+
42
+ ## RuboCop versions
43
+
44
+ If you need to use RuboCop v0.84.0 or v0.85.x, you'll need to ensure that
45
+ you've also need to add `gem 'rubocop-ast', '< 0.7.0'` to your Gemfile as
46
+ these were the first versions to use rubocop-ast, and unfortunately the
47
+ dependency was loose enough that rubocop-ast versions >= 0.7.0 were allowed,
48
+ which causes `require 'rubocop'` to fail with
49
+ ```
50
+ NoMethodError:
51
+ undefined method `join' for #<Set: {:==, :===, :!=, :<=, :>=, :>, :<}>
52
+ in rubocop-0.84.0/lib/rubocop/cop/style/redundant_conditional.rb:57:in `<class:RedundantConditional>'
53
+ ```
54
+ This is due to https://github.com/rubocop-hq/rubocop-ast/issues/22
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pronto'
2
4
  require 'rubocop'
3
5
  require 'pronto/rubocop/patch_cop'
@@ -7,7 +9,7 @@ module Pronto
7
9
  class Rubocop < Runner
8
10
  def run
9
11
  ruby_patches
10
- .select { |patch| patch.additions > 0 }
12
+ .select { |patch| patch.additions.positive? }
11
13
  .flat_map { |patch| PatchCop.new(patch, self).messages }
12
14
  end
13
15
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Pronto
2
4
  class Rubocop < Runner
3
5
  class OffenseLine
@@ -31,7 +33,7 @@ module Pronto
31
33
 
32
34
  def suggestion_text
33
35
  return unless patch_cop.runner.pronto_rubocop_config['suggestions']
34
- return if corrections_count == 0
36
+ return if corrections_count.zero?
35
37
  return if differing_lines_count != corrections_count
36
38
 
37
39
  @suggestion_text ||= corrected_lines[offense.line - 1]
@@ -51,7 +53,8 @@ module Pronto
51
53
  processed_source.lines.join("\n").lines
52
54
  end
53
55
 
54
- if ::RuboCop::Cop::Team.respond_to?(:mobilize)
56
+ if ::RuboCop::Cop::Team.respond_to?(:mobilize) && ::RuboCop::Cop::Team.public_method_defined?(:investigate)
57
+ # rubocop >= 0.87.0 has both mobilize and public investigate method
55
58
  MOBILIZE = :mobilize
56
59
 
57
60
  def report
@@ -66,8 +69,8 @@ module Pronto
66
69
  report.offenses.size
67
70
  end
68
71
  else
69
- # rubocop < v0.85.0
70
- MOBILIZE = :new
72
+ # rubocop 0.85.x and 0.86.0 have mobilize, older versions don't
73
+ MOBILIZE = ::RuboCop::Cop::Team.respond_to?(:mobilize) ? :mobilize : :new
71
74
 
72
75
  def corrector
73
76
  @corrector ||= begin
@@ -86,11 +89,10 @@ module Pronto
86
89
  def autocorrect_team
87
90
  @autocorrect_team ||=
88
91
  ::RuboCop::Cop::Team.send(MOBILIZE,
89
- ::RuboCop::Cop::Registry.new([cop_class]),
90
- patch_cop.rubocop_config,
91
- auto_correct: true,
92
- stdin: true,
93
- )
92
+ ::RuboCop::Cop::Registry.new([cop_class]),
93
+ patch_cop.rubocop_config,
94
+ auto_correct: true,
95
+ stdin: true)
94
96
  end
95
97
 
96
98
  def cop_class
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Pronto
2
4
  class Rubocop < Runner
3
5
  class PatchCop
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Pronto
2
4
  module RubocopVersion
3
- VERSION = '0.11.0'.freeze
5
+ VERSION = '0.11.1'
4
6
  end
5
7
  end
@@ -1,6 +1,6 @@
1
- # -*- encoding: utf-8 -*-
1
+ # frozen_string_literal: true
2
2
 
3
- $LOAD_PATH.push File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
4
  require 'pronto/rubocop/version'
5
5
  require 'English'
6
6
 
@@ -33,7 +33,7 @@ Gem::Specification.new do |s|
33
33
  s.require_paths = ['lib']
34
34
 
35
35
  s.add_runtime_dependency('pronto', '~> 0.11.0')
36
- s.add_runtime_dependency('rubocop', '>= 0.49.1', '< 1.0')
36
+ s.add_runtime_dependency('rubocop', '>= 0.63.1', '< 2.0')
37
37
  s.add_development_dependency('rake', '~> 12.0')
38
38
  s.add_development_dependency('rspec', '~> 3.4')
39
39
  s.add_development_dependency('rspec-its', '~> 1.2')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pronto-rubocop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mindaugas Mozūras
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-31 00:00:00.000000000 Z
11
+ date: 2021-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pronto
@@ -30,20 +30,20 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.49.1
33
+ version: 0.63.1
34
34
  - - "<"
35
35
  - !ruby/object:Gem::Version
36
- version: '1.0'
36
+ version: '2.0'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: 0.49.1
43
+ version: 0.63.1
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
- version: '1.0'
46
+ version: '2.0'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
49
  requirement: !ruby/object:Gem::Requirement