pronto-reek 0.10.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: eadce1e9e58eb90475deae3fa584a826b5c63920a69e38f63eaabb76ac9872bf
4
- data.tar.gz: 82a4e5da5d45eefaa35684b135dc9da07d54e1b707703816cef13b1ee8286b3e
3
+ metadata.gz: 8b5dfd4b3e1094f4e66c8f3d371f9663b3c140dc810c3ec7e1600ba1e08fe797
4
+ data.tar.gz: 86dbfdb203ea9d8740ddbea37e2af155c71f789d86874424d132c1668df24e8e
5
5
  SHA512:
6
- metadata.gz: c14b0917f7a72f27439ca7a9dbd875688eb7ba4b1509a257f4649c9ee8e0f60305e28d36e89d88c9eae047b3edf60c50e2f8d9e73411c3737e9b5a2247beb82a
7
- data.tar.gz: 15c4524ae596a6780df9b8bc10b9ed7cf380a1ca7dfbb7a3bfbc244c75ba5011b3a2cafac5cf726bcb478f51a0603914a5bd248295120d97d5b625b64c9f6a23
6
+ metadata.gz: c54258b02c26d857678243b6deca4d8381ca1bb0ca8a9d55dcf75889a546b810c0402ef6014551302befe5b7153251484f60ad6b9ca91a2548d78c8fe7e80a8c
7
+ data.tar.gz: 3e3603f8c8ad72bc23bd964f2cb521eb6bb6ab1a982ec8bbd0ecc177e85479e83bcf05cb72fcfa230dcdbf0f54a9bb6d5e5dd4455387049ac888856a1bf4f380
@@ -0,0 +1,3 @@
1
+ # Order is important. The last matching pattern takes the most precedence.
2
+ # Default owners for everything in the repo.
3
+ * @prontolabs/core
@@ -0,0 +1,23 @@
1
+ name: Checks
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ branches: [ master ]
8
+
9
+ jobs:
10
+ ruby:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ ruby: ['2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2']
15
+ fail-fast: false
16
+ steps:
17
+ - uses: actions/checkout@v3
18
+ - uses: ruby/setup-ruby@v1
19
+ with:
20
+ ruby-version: ${{ matrix.ruby }}
21
+ bundler-cache: true
22
+ - name: rake spec
23
+ run: bundle exec rake spec
data/README.md CHANGED
@@ -10,3 +10,12 @@ Pronto runner for [Reek](https://github.com/troessner/reek), code smell detector
10
10
  ## Configuration
11
11
 
12
12
  Configuring Reek via [config.reek](https://github.com/troessner/reek#configuration-file), or any file ending with .reek, will work just fine with pronto-reek.
13
+
14
+ You can also specify a custom severity level for the reek smells with the environment variable PRONTO_REEK_SEVERITY_LEVEL.
15
+
16
+ Or if you prefer provide it on your `.pronto.yml` (environment variable has precedence over file):
17
+
18
+ ```yaml
19
+ reek:
20
+ severity_level: warning # default is info
21
+ ```
@@ -1,5 +1,5 @@
1
1
  module Pronto
2
2
  module ReekVersion
3
- VERSION = '0.10.0'.freeze
3
+ VERSION = '0.11.1'.freeze
4
4
  end
5
5
  end
data/lib/pronto/reek.rb CHANGED
@@ -1,10 +1,15 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pronto'
2
4
  require 'reek'
3
5
 
4
6
  module Pronto
5
7
  class Reek < Runner
6
8
  def run
7
- files = ruby_patches.map(&:new_file_full_path)
9
+ files = ruby_patches.map do |patch|
10
+ patch.new_file_full_path.relative_path_from(Pathname.pwd)
11
+ end
12
+
8
13
  configuration = ::Reek::Configuration::AppConfiguration.from_path(nil)
9
14
 
10
15
  smells = files.flat_map do |file|
@@ -30,15 +35,21 @@ module Pronto
30
35
 
31
36
  def new_message(line, error)
32
37
  path = line.patch.delta.new_file[:path]
33
- message = "#{error.message.capitalize} (#{error.smell_type})"
38
+ message = "#{error.message.capitalize} - [#{error.smell_type}](#{error.explanatory_link})"
34
39
 
35
- Message.new(path, line, :info, message, nil, self.class)
40
+ Message.new(path, line, severity_level, message, nil, self.class)
36
41
  end
37
42
 
38
43
  def patch_for_error(error)
39
44
  ruby_patches.find do |patch|
40
- patch.new_file_full_path.to_s == error.source
45
+ patch.new_file_full_path.relative_path_from(Pathname.pwd).to_s == error.source
41
46
  end
42
47
  end
48
+
49
+ def severity_level
50
+ @severity_level ||= begin
51
+ ENV['PRONTO_REEK_SEVERITY_LEVEL'] || Pronto::ConfigFile.new.to_h.dig('reek', 'severity_level') || :info
52
+ end.to_sym
53
+ end
43
54
  end
44
55
  end
data/pronto-reek.gemspec CHANGED
@@ -32,8 +32,8 @@ Gem::Specification.new do |s|
32
32
  s.extra_rdoc_files = ['LICENSE', 'README.md']
33
33
  s.require_paths = ['lib']
34
34
 
35
- s.add_dependency('pronto', '~> 0.10.0')
36
- s.add_dependency('reek', '>= 4.2', '< 6.0')
35
+ s.add_dependency('pronto', '~> 0.11.0')
36
+ s.add_dependency('reek', '>= 4.2', '< 7.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-reek
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mindaugas Mozūras
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-03 00:00:00.000000000 Z
11
+ date: 2023-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pronto
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.10.0
19
+ version: 0.11.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.10.0
26
+ version: 0.11.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: reek
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: '4.2'
34
34
  - - "<"
35
35
  - !ruby/object:Gem::Version
36
- version: '6.0'
36
+ version: '7.0'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '4.2'
44
44
  - - "<"
45
45
  - !ruby/object:Gem::Version
46
- version: '6.0'
46
+ version: '7.0'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -86,7 +86,7 @@ dependencies:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
88
  version: '1.2'
89
- description:
89
+ description:
90
90
  email: mindaugas.mozuras@gmail.com
91
91
  executables: []
92
92
  extensions: []
@@ -94,6 +94,8 @@ extra_rdoc_files:
94
94
  - LICENSE
95
95
  - README.md
96
96
  files:
97
+ - ".github/CODEOWNERS"
98
+ - ".github/workflows/checks.yml"
97
99
  - LICENSE
98
100
  - README.md
99
101
  - lib/pronto/reek.rb
@@ -103,7 +105,7 @@ homepage: http://github.com/mmozuras/pronto-reek
103
105
  licenses:
104
106
  - MIT
105
107
  metadata: {}
106
- post_install_message:
108
+ post_install_message:
107
109
  rdoc_options: []
108
110
  require_paths:
109
111
  - lib
@@ -118,8 +120,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
120
  - !ruby/object:Gem::Version
119
121
  version: '0'
120
122
  requirements: []
121
- rubygems_version: 3.0.1
122
- signing_key:
123
+ rubygems_version: 3.0.9
124
+ signing_key:
123
125
  specification_version: 4
124
126
  summary: Pronto runner for Reek, code smell detector for Ruby
125
127
  test_files: []