quality 38.0.1 → 40.0.0

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: 48e5a658826a5173325eff4e5619770ea522511d7abfbcaab02aa34c56bd7ae6
4
- data.tar.gz: 4e8e75ced5fa378412558485e865e5d0a0713ce4a549db77a235d0a6bf575fdc
3
+ metadata.gz: 5524591d0d172a2e3fb667c073281f0269c5ec8279594017fccc6b348d24d84e
4
+ data.tar.gz: ac05cd2261f1e3845c0429062ce3658966a516a0c97d4e06b0a789ecc96d9929
5
5
  SHA512:
6
- metadata.gz: bad91c1209954febba291e7d91a86624ed722f7c51475c2a2bd284ec7814c6963bd3ca157a5967535ac611a01d76112f64d029381404be97c7f563d1e5dfac22
7
- data.tar.gz: 5b155a764d1387c64faceb9998fc7539e9753cb7bc2c7fd2c79ec90feeebf4db257e7060c629b3fbd8c1717d89fee2401a4bc2a93860b1efc4b62cf5ceb56f96
6
+ metadata.gz: 5990aef52187b2badca09eade2f20a9e9faf29a148d31126d018f25f82231d6732ff65f0f7f590884b3651bfe66e942bf5aa0b1f831a62c1d87a27e0a4b0e7cf
7
+ data.tar.gz: aeca668a36e880a185d11b58a0bad679575799825597a0708af5e78c32eeeae0d9cd3cff604c011dddd3b0cc9a027e255dd0f3c628abc131e6b95bb915d09504
@@ -0,0 +1,133 @@
1
+
2
+ # Contributor Covenant Code of Conduct
3
+
4
+ ## Our Pledge
5
+
6
+ We as members, contributors, and leaders pledge to make participation in our
7
+ community a harassment-free experience for everyone, regardless of age, body
8
+ size, visible or invisible disability, ethnicity, sex characteristics, gender
9
+ identity and expression, level of experience, education, socio-economic status,
10
+ nationality, personal appearance, race, caste, color, religion, or sexual identity
11
+ and orientation.
12
+
13
+ We pledge to act and interact in ways that contribute to an open, welcoming,
14
+ diverse, inclusive, and healthy community.
15
+
16
+ ## Our Standards
17
+
18
+ Examples of behavior that contributes to a positive environment for our
19
+ community include:
20
+
21
+ * Demonstrating empathy and kindness toward other people
22
+ * Being respectful of differing opinions, viewpoints, and experiences
23
+ * Giving and gracefully accepting constructive feedback
24
+ * Accepting responsibility and apologizing to those affected by our mistakes,
25
+ and learning from the experience
26
+ * Focusing on what is best not just for us as individuals, but for the
27
+ overall community
28
+
29
+ Examples of unacceptable behavior include:
30
+
31
+ * The use of sexualized language or imagery, and sexual attention or
32
+ advances of any kind
33
+ * Trolling, insulting or derogatory comments, and personal or political attacks
34
+ * Public or private harassment
35
+ * Publishing others' private information, such as a physical or email
36
+ address, without their explicit permission
37
+ * Other conduct which could reasonably be considered inappropriate in a
38
+ professional setting
39
+
40
+ ## Enforcement Responsibilities
41
+
42
+ Community leaders are responsible for clarifying and enforcing our standards of
43
+ acceptable behavior and will take appropriate and fair corrective action in
44
+ response to any behavior that they deem inappropriate, threatening, offensive,
45
+ or harmful.
46
+
47
+ Community leaders have the right and responsibility to remove, edit, or reject
48
+ comments, commits, code, wiki edits, issues, and other contributions that are
49
+ not aligned to this Code of Conduct, and will communicate reasons for moderation
50
+ decisions when appropriate.
51
+
52
+ ## Scope
53
+
54
+ This Code of Conduct applies within all community spaces, and also applies when
55
+ an individual is officially representing the community in public spaces.
56
+ Examples of representing our community include using an official e-mail address,
57
+ posting via an official social media account, or acting as an appointed
58
+ representative at an online or offline event.
59
+
60
+ ## Enforcement
61
+
62
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
63
+ reported to the community leaders responsible for enforcement at
64
+ [INSERT CONTACT METHOD].
65
+ All complaints will be reviewed and investigated promptly and fairly.
66
+
67
+ All community leaders are obligated to respect the privacy and security of the
68
+ reporter of any incident.
69
+
70
+ ## Enforcement Guidelines
71
+
72
+ Community leaders will follow these Community Impact Guidelines in determining
73
+ the consequences for any action they deem in violation of this Code of Conduct:
74
+
75
+ ### 1. Correction
76
+
77
+ **Community Impact**: Use of inappropriate language or other behavior deemed
78
+ unprofessional or unwelcome in the community.
79
+
80
+ **Consequence**: A private, written warning from community leaders, providing
81
+ clarity around the nature of the violation and an explanation of why the
82
+ behavior was inappropriate. A public apology may be requested.
83
+
84
+ ### 2. Warning
85
+
86
+ **Community Impact**: A violation through a single incident or series
87
+ of actions.
88
+
89
+ **Consequence**: A warning with consequences for continued behavior. No
90
+ interaction with the people involved, including unsolicited interaction with
91
+ those enforcing the Code of Conduct, for a specified period of time. This
92
+ includes avoiding interactions in community spaces as well as external channels
93
+ like social media. Violating these terms may lead to a temporary or
94
+ permanent ban.
95
+
96
+ ### 3. Temporary Ban
97
+
98
+ **Community Impact**: A serious violation of community standards, including
99
+ sustained inappropriate behavior.
100
+
101
+ **Consequence**: A temporary ban from any sort of interaction or public
102
+ communication with the community for a specified period of time. No public or
103
+ private interaction with the people involved, including unsolicited interaction
104
+ with those enforcing the Code of Conduct, is allowed during this period.
105
+ Violating these terms may lead to a permanent ban.
106
+
107
+ ### 4. Permanent Ban
108
+
109
+ **Community Impact**: Demonstrating a pattern of violation of community
110
+ standards, including sustained inappropriate behavior, harassment of an
111
+ individual, or aggression toward or disparagement of classes of individuals.
112
+
113
+ **Consequence**: A permanent ban from any sort of public interaction within
114
+ the community.
115
+
116
+ ## Attribution
117
+
118
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
119
+ version 2.0, available at
120
+ [https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].
121
+
122
+ Community Impact Guidelines were inspired by
123
+ [Mozilla's code of conduct enforcement ladder][Mozilla CoC].
124
+
125
+ For answers to common questions about this code of conduct, see the FAQ at
126
+ [https://www.contributor-covenant.org/faq][FAQ]. Translations are available
127
+ at [https://www.contributor-covenant.org/translations][translations].
128
+
129
+ [homepage]: https://www.contributor-covenant.org
130
+ [v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
131
+ [Mozilla CoC]: https://github.com/mozilla/diversity
132
+ [FAQ]: https://www.contributor-covenant.org/faq
133
+ [translations]: https://www.contributor-covenant.org/translations
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Quality -- code quality ratchet for Ruby
2
2
 
3
- [![Build Status](https://travis-ci.org/apiology/quality.png)](https://travis-ci.org/apiology/quality)
3
+ [![CircleCI](https://circleci.com/gh/apiology/quality.svg?style=svg)](https://circleci.com/gh/apiology/quality)
4
4
 
5
5
  ## Overview
6
6
 
@@ -103,7 +103,7 @@ changes, consider using
103
103
  incremental reporting from different quality tools, and can add
104
104
  comments directly to PR reviews. You can see an example in this
105
105
  project's
106
- [Rakefile](https://github.com/apiology/quality/blob/master/Rakefile)
106
+ [Rakefile](https://github.com/apiology/quality/blob/main/Rakefile)
107
107
 
108
108
  ## Vendored files
109
109
 
@@ -159,14 +159,18 @@ Expect your build to break on major upgrades if you use RuboCop.
159
159
 
160
160
  Tested against Ruby >=2.2--does not support Ruby 1.9.x or JRuby.
161
161
 
162
- ## Contributing
162
+ ## Contributions
163
163
 
164
- * Fork the repo
165
- * Create a feature branch
166
- * Submit a github pull request
164
+ This project, as with all others, rests on the shoulders of a broad
165
+ ecosystem supported by many volunteers doing thankless work, along
166
+ with specific contributors.
167
+
168
+ In particular I'd like to call out:
169
+
170
+ * [Audrey Roy Greenfeld](https://github.com/audreyfeldroy) for the
171
+ cookiecutter tool and associated examples, which keep my many
172
+ projects building with shared boilerplate with a minimum of fuss.
167
173
 
168
- Many thanks to all contributors, especially [@andyw8](https://github.com/andyw8),
169
- who has contributed some great improvements.
170
174
 
171
175
  ## License
172
176
 
@@ -4,10 +4,8 @@ module Quality
4
4
  # Class processes output from a code quality command, tweaking it
5
5
  # for editor output and counting the number of violations found
6
6
  class CommandOutputProcessor
7
- attr_accessor :emacs_format
8
- attr_accessor :file
9
- attr_reader :found_output
10
- attr_reader :violations
7
+ attr_accessor :emacs_format, :file
8
+ attr_reader :found_output, :violations
11
9
 
12
10
  def initialize
13
11
  @emacs_format = false
@@ -46,10 +44,11 @@ module Quality
46
44
  end
47
45
 
48
46
  def preprocess_line_for_emacs
49
- if @current_line =~ /^ *(\S*.rb:[0-9]*) *(.*)/
50
- Regexp.last_match[1] + ': ' + Regexp.last_match[2] + "\n"
51
- elsif @current_line =~ /^ *(.*) +(\S*.rb:[0-9]*) *(.*)/
52
- Regexp.last_match[2] + ': ' + Regexp.last_match[1] + "\n"
47
+ case @current_line
48
+ when /^ *(\S*.rb:[0-9]*) *(.*)/
49
+ "#{Regexp.last_match[1]}: #{Regexp.last_match[2]}\n"
50
+ when /^ *(.*) +(\S*.rb:[0-9]*) *(.*)/
51
+ "#{Regexp.last_match[2]}: #{Regexp.last_match[1]}\n"
53
52
  else
54
53
  @current_line
55
54
  end
@@ -4,6 +4,8 @@
4
4
  # https://github.com/xsc/lein-ancient/issues/29
5
5
  # https://github.com/xsc/lein-ancient/releases
6
6
 
7
+ require 'forwardable'
8
+
7
9
  require_relative 'linguist_source_file_globber'
8
10
 
9
11
  module Quality
@@ -96,22 +96,18 @@ module Quality
96
96
  end
97
97
 
98
98
  def source_files
99
- @source_files ||= begin
100
- real_files_matching do |blob|
101
- !blob.language.nil? && !blob.documentation?
102
- end
99
+ @source_files ||= real_files_matching do |blob|
100
+ !blob.language.nil? && !blob.documentation?
103
101
  end
104
102
  end
105
103
 
106
104
  def source_and_doc_files
107
- @source_and_doc_files ||= begin
108
- real_files_matching do |blob, _filename|
109
- if blob.documentation? || !blob.language.nil?
110
- true
111
- else
112
- # puts "Excluding #{filename} from source_and_doc_files"
113
- false
114
- end
105
+ @source_and_doc_files ||= real_files_matching do |blob, _filename|
106
+ if blob.documentation? || !blob.language.nil?
107
+ true
108
+ else
109
+ # puts "Excluding #{filename} from source_and_doc_files"
110
+ false
115
111
  end
116
112
  end
117
113
  end
@@ -11,10 +11,8 @@ module Quality
11
11
  @popener = dependencies[:popener] || IO
12
12
  end
13
13
 
14
- def run
15
- @popener.popen(@full_cmd) do |file|
16
- yield file
17
- end
14
+ def run(&block)
15
+ @popener.popen(@full_cmd, &block)
18
16
  $CHILD_STATUS&.exitstatus
19
17
  end
20
18
  end
@@ -10,6 +10,7 @@ module Rake
10
10
  # Define this in advance so that confused requires succeed
11
11
  module DSL
12
12
  end
13
+
13
14
  class Task
14
15
  end
15
16
  end
@@ -9,10 +9,10 @@ module Quality
9
9
  end
10
10
 
11
11
  def invocation
12
- if !@args.empty?
13
- "#{cmd_with_ruby_hack_prefix} #{@args}"
14
- else
12
+ if @args.empty?
15
13
  cmd_with_ruby_hack_prefix.to_s
14
+ else
15
+ "#{cmd_with_ruby_hack_prefix} #{@args}"
16
16
  end
17
17
  end
18
18
 
@@ -3,6 +3,8 @@
3
3
  # Quality is a tool that runs quality checks on Ruby code using cane,
4
4
  # reek, flog, flay and rubocop and makes sure your numbers don't get
5
5
  # any worse over time.
6
+ # :nocov:
6
7
  module Quality
7
- VERSION = '38.0.1'
8
+ VERSION = '40.0.0'
8
9
  end
10
+ # :nocov:
data/lib/quality.rb ADDED
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'quality/version'
data/quality.gemspec CHANGED
@@ -1,79 +1,94 @@
1
+ # coding: ascii
1
2
  # frozen_string_literal: true
2
3
 
3
- # ; -*-Ruby-*-
4
-
5
- $LOAD_PATH.push File.join(File.dirname(__FILE__), 'lib')
4
+ lib = File.expand_path('lib', __dir__)
5
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
6
  require 'quality/version'
7
7
 
8
- Gem::Specification.new do |s|
9
- s.name = 'quality'
10
- s.version = Quality::VERSION
11
-
12
- s.authors = ['Vince Broz']
13
- s.description =
8
+ Gem::Specification.new do |spec|
9
+ spec.name = 'quality'
10
+ spec.version = Quality::VERSION
11
+ spec.authors = ['Vince Broz']
12
+ spec.description =
14
13
  "Quality is a tool that runs quality checks on your code using " \
15
14
  "community tools, and makes sure your numbers don't get any " \
16
15
  "worse over time. Just add 'rake quality' as part of your " \
17
16
  "Continuous Integration"
18
- s.email = ['vince@broz.cc']
19
- s.license = 'MIT'
20
- s.files = Dir['CODE_OF_CONDUCT.md', 'LICENSE.txt', 'README.md',
21
- '{lib}/quality.rb',
22
- '{lib}/quality/**/*.rb',
23
- 'quality.gemspec']
24
- s.require_paths = ['lib']
25
- s.homepage = 'http://github.com/apiology/quality'
26
- s.rubygems_version = '1.3.6'
27
- s.summary = 'Code quality tools for Ruby'
17
+ spec.email = ['vince@broz.cc']
18
+ spec.summary = 'Code quality ratchet for Ruby'
19
+ spec.homepage = 'https://github.com/apiology/quality'
20
+ spec.license = 'MIT license'
21
+ spec.required_ruby_version = '>= 2.7'
22
+ spec.files = Dir['CODE_OF_CONDUCT.md', 'LICENSE.txt', 'README.md',
23
+ '{lib}/quality.rb',
24
+ '{lib}/quality/**/*.rb',
25
+ 'quality.gemspec']
26
+ spec.bindir = 'exe'
27
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
+ spec.require_paths = ['lib']
29
+
30
+ spec.add_development_dependency 'bump'
31
+ spec.add_development_dependency('bundler', ['>= 1.1'])
32
+ spec.add_development_dependency 'mdl'
33
+ # Workaround for
34
+ # https://github.com/bundler/bundler/issues/3401
35
+ spec.add_development_dependency('minitest', ['~> 5'])
36
+ spec.add_development_dependency('mocha')
37
+ # 0.58.0 and 0.57.0 don't seem super compatible with signatures, and
38
+ # magit doesn't seem to want to use the bundled version at the moment,
39
+ # so let's favor the more recent version...
40
+ spec.add_development_dependency 'overcommit', ['>=0.58.0']
41
+ spec.add_development_dependency('pronto', '>=0.11')
42
+ spec.add_development_dependency('pronto-bigfiles')
43
+ # spec.add_development_dependency('pronto-flake8') # does not yet support pronto 0.11
44
+ spec.add_development_dependency('pronto-punchlist')
45
+ spec.add_development_dependency('pronto-rubocop')
46
+ spec.add_development_dependency 'pry'
47
+ spec.add_development_dependency 'rake', '~> 13.0'
48
+ spec.add_development_dependency 'rspec', '>=3.4'
49
+ # ensure version with branch coverage
50
+ spec.add_development_dependency 'simplecov', ['>=0.18.0']
51
+ spec.add_development_dependency 'simplecov-lcov'
52
+ spec.add_development_dependency 'undercover'
28
53
 
29
- s.add_runtime_dependency('activesupport')
30
- s.add_runtime_dependency('bundler-audit')
31
- s.add_runtime_dependency('cane', ['>= 2.6'])
32
- s.add_runtime_dependency('flog', ['>= 4.1.1'])
33
- s.add_runtime_dependency('github-linguist')
34
- s.add_runtime_dependency('reek', ['>= 1.3.4'])
54
+ spec.add_runtime_dependency('activesupport')
55
+ spec.add_runtime_dependency('bundler-audit')
56
+ spec.add_runtime_dependency('cane', ['>= 2.6'])
57
+ spec.add_runtime_dependency('flog', ['>= 4.1.1'])
58
+ spec.add_runtime_dependency('github-linguist')
59
+ spec.add_runtime_dependency('reek', ['>= 1.3.4'])
35
60
  # flay 2.6.0 contained a command-line-parsing issue
36
- s.add_runtime_dependency('flay', ['>= 2.4', '!= 2.6.0'])
61
+ spec.add_runtime_dependency('flay', ['>= 2.4', '!= 2.6.0'])
37
62
  # avoid security issues - CVE-2015-1820, CVE-2015-3448
38
- s.add_runtime_dependency('rest-client', ['>= 1.8.0'])
63
+ spec.add_runtime_dependency('rest-client', ['>= 1.8.0'])
39
64
  #
40
65
  # per version advice here - locks quality gem version with rubocop
41
66
  # version to avoid unexplained metric-changing surprises:
42
67
  #
43
68
  # https://github.com/bbatsov/rubocop#installation
44
- s.add_runtime_dependency('mdl')
45
- s.add_runtime_dependency('rubocop', '~> 0.92.0')
69
+ spec.add_runtime_dependency('mdl')
70
+ spec.add_runtime_dependency('rubocop', '~> 1.39.0')
46
71
  # 0.2.0 had a fatal bug
47
- s.add_runtime_dependency('bigfiles', ['>= 0.1', '!= 0.2.0'])
48
- s.add_runtime_dependency('brakeman')
49
- s.add_runtime_dependency('high_water_mark')
50
- s.add_runtime_dependency('punchlist', ['>= 1.1'])
51
- s.add_runtime_dependency('rails_best_practices')
52
- s.add_runtime_dependency('rubocop-minitest')
53
- s.add_runtime_dependency('rubocop-rake')
72
+ # 0.3.0 introduces config files
73
+ spec.add_runtime_dependency('bigfiles', ['>= 0.3.0', '!= 0.2.0'])
74
+ spec.add_runtime_dependency('brakeman')
75
+ spec.add_runtime_dependency('high_water_mark')
76
+ spec.add_runtime_dependency('punchlist', ['>= 1.1'])
77
+ spec.add_runtime_dependency('rails_best_practices')
78
+ spec.add_runtime_dependency('rubocop-minitest')
79
+ spec.add_runtime_dependency('rubocop-rake')
54
80
  # 1.19.0 was a RuboCop 0.51.0 compatibility release
55
- s.add_runtime_dependency('faraday', ['~>1'])
56
- s.add_runtime_dependency('rubocop-rspec', ['>=1.19.0'])
81
+ spec.add_runtime_dependency('faraday', ['~>1'])
82
+ spec.add_runtime_dependency('rubocop-rspec', ['>=1.19.0'])
57
83
 
58
84
  # need above 3.2.2 to support Ruby 2.0 syntax
59
85
  #
60
86
  # 3.6.6 was a buggy release, see seattlerb/ruby_parser#183
61
- s.add_runtime_dependency('ruby_parser', ['>= 3.2.2', '!= 3.6.6'])
87
+ spec.add_runtime_dependency('ruby_parser', ['>= 3.2.2', '!= 3.6.6'])
62
88
 
63
89
  # cane has an unadvertised dependency on json
64
- s.add_runtime_dependency('json')
65
-
66
- s.add_development_dependency('bundler', ['>= 1.1'])
67
- # Workaround for
68
- # https://github.com/bundler/bundler/issues/3401
69
- s.add_development_dependency('minitest', ['~> 5'])
70
- s.add_development_dependency('mocha')
71
- s.add_development_dependency('pronto')
72
- s.add_development_dependency('pronto-bigfiles')
73
- s.add_development_dependency('pronto-flake8')
74
- s.add_development_dependency('pronto-punchlist')
75
- s.add_development_dependency('pronto-rubocop')
76
- # https://github.com/advisories/GHSA-jppv-gw3r-w3q8
77
- s.add_development_dependency('rake', ['>= 12.3.3'])
78
- s.add_development_dependency('rspec')
90
+ spec.add_runtime_dependency('json')
91
+ spec.metadata = {
92
+ 'rubygems_mfa_required' => 'true',
93
+ }
79
94
  end
metadata CHANGED
@@ -1,23 +1,23 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quality
3
3
  version: !ruby/object:Gem::Version
4
- version: 38.0.1
4
+ version: 40.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vince Broz
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2020-12-30 00:00:00.000000000 Z
11
+ date: 2022-11-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: activesupport
14
+ name: bump
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
- type: :runtime
20
+ type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
@@ -25,55 +25,55 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: bundler-audit
28
+ name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
33
+ version: '1.1'
34
+ type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '1.1'
41
41
  - !ruby/object:Gem::Dependency
42
- name: cane
42
+ name: mdl
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '2.6'
48
- type: :runtime
47
+ version: '0'
48
+ type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '2.6'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: flog
56
+ name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 4.1.1
62
- type: :runtime
61
+ version: '5'
62
+ type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 4.1.1
68
+ version: '5'
69
69
  - !ruby/object:Gem::Dependency
70
- name: github-linguist
70
+ name: mocha
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
- type: :runtime
76
+ type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
@@ -81,61 +81,83 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: reek
84
+ name: overcommit
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 1.3.4
90
- type: :runtime
89
+ version: 0.58.0
90
+ type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: 1.3.4
96
+ version: 0.58.0
97
97
  - !ruby/object:Gem::Dependency
98
- name: flay
98
+ name: pronto
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '2.4'
104
- - - "!="
103
+ version: '0.11'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
105
109
  - !ruby/object:Gem::Version
106
- version: 2.6.0
107
- type: :runtime
110
+ version: '0.11'
111
+ - !ruby/object:Gem::Dependency
112
+ name: pronto-bigfiles
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
108
119
  prerelease: false
109
120
  version_requirements: !ruby/object:Gem::Requirement
110
121
  requirements:
111
122
  - - ">="
112
123
  - !ruby/object:Gem::Version
113
- version: '2.4'
114
- - - "!="
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: pronto-punchlist
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
115
130
  - !ruby/object:Gem::Version
116
- version: 2.6.0
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'
117
139
  - !ruby/object:Gem::Dependency
118
- name: rest-client
140
+ name: pronto-rubocop
119
141
  requirement: !ruby/object:Gem::Requirement
120
142
  requirements:
121
143
  - - ">="
122
144
  - !ruby/object:Gem::Version
123
- version: 1.8.0
124
- type: :runtime
145
+ version: '0'
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.8.0
152
+ version: '0'
131
153
  - !ruby/object:Gem::Dependency
132
- name: mdl
154
+ name: pry
133
155
  requirement: !ruby/object:Gem::Requirement
134
156
  requirements:
135
157
  - - ">="
136
158
  - !ruby/object:Gem::Version
137
159
  version: '0'
138
- type: :runtime
160
+ type: :development
139
161
  prerelease: false
140
162
  version_requirements: !ruby/object:Gem::Requirement
141
163
  requirements:
@@ -143,47 +165,55 @@ dependencies:
143
165
  - !ruby/object:Gem::Version
144
166
  version: '0'
145
167
  - !ruby/object:Gem::Dependency
146
- name: rubocop
168
+ name: rake
147
169
  requirement: !ruby/object:Gem::Requirement
148
170
  requirements:
149
171
  - - "~>"
150
172
  - !ruby/object:Gem::Version
151
- version: 0.92.0
152
- type: :runtime
173
+ version: '13.0'
174
+ type: :development
153
175
  prerelease: false
154
176
  version_requirements: !ruby/object:Gem::Requirement
155
177
  requirements:
156
178
  - - "~>"
157
179
  - !ruby/object:Gem::Version
158
- version: 0.92.0
180
+ version: '13.0'
159
181
  - !ruby/object:Gem::Dependency
160
- name: bigfiles
182
+ name: rspec
161
183
  requirement: !ruby/object:Gem::Requirement
162
184
  requirements:
163
185
  - - ">="
164
186
  - !ruby/object:Gem::Version
165
- version: '0.1'
166
- - - "!="
167
- - !ruby/object:Gem::Version
168
- version: 0.2.0
169
- type: :runtime
187
+ version: '3.4'
188
+ type: :development
170
189
  prerelease: false
171
190
  version_requirements: !ruby/object:Gem::Requirement
172
191
  requirements:
173
192
  - - ">="
174
193
  - !ruby/object:Gem::Version
175
- version: '0.1'
176
- - - "!="
194
+ version: '3.4'
195
+ - !ruby/object:Gem::Dependency
196
+ name: simplecov
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
177
200
  - !ruby/object:Gem::Version
178
- version: 0.2.0
201
+ version: 0.18.0
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: 0.18.0
179
209
  - !ruby/object:Gem::Dependency
180
- name: brakeman
210
+ name: simplecov-lcov
181
211
  requirement: !ruby/object:Gem::Requirement
182
212
  requirements:
183
213
  - - ">="
184
214
  - !ruby/object:Gem::Version
185
215
  version: '0'
186
- type: :runtime
216
+ type: :development
187
217
  prerelease: false
188
218
  version_requirements: !ruby/object:Gem::Requirement
189
219
  requirements:
@@ -191,13 +221,13 @@ dependencies:
191
221
  - !ruby/object:Gem::Version
192
222
  version: '0'
193
223
  - !ruby/object:Gem::Dependency
194
- name: high_water_mark
224
+ name: undercover
195
225
  requirement: !ruby/object:Gem::Requirement
196
226
  requirements:
197
227
  - - ">="
198
228
  - !ruby/object:Gem::Version
199
229
  version: '0'
200
- type: :runtime
230
+ type: :development
201
231
  prerelease: false
202
232
  version_requirements: !ruby/object:Gem::Requirement
203
233
  requirements:
@@ -205,21 +235,21 @@ dependencies:
205
235
  - !ruby/object:Gem::Version
206
236
  version: '0'
207
237
  - !ruby/object:Gem::Dependency
208
- name: punchlist
238
+ name: activesupport
209
239
  requirement: !ruby/object:Gem::Requirement
210
240
  requirements:
211
241
  - - ">="
212
242
  - !ruby/object:Gem::Version
213
- version: '1.1'
243
+ version: '0'
214
244
  type: :runtime
215
245
  prerelease: false
216
246
  version_requirements: !ruby/object:Gem::Requirement
217
247
  requirements:
218
248
  - - ">="
219
249
  - !ruby/object:Gem::Version
220
- version: '1.1'
250
+ version: '0'
221
251
  - !ruby/object:Gem::Dependency
222
- name: rails_best_practices
252
+ name: bundler-audit
223
253
  requirement: !ruby/object:Gem::Requirement
224
254
  requirements:
225
255
  - - ">="
@@ -233,145 +263,151 @@ dependencies:
233
263
  - !ruby/object:Gem::Version
234
264
  version: '0'
235
265
  - !ruby/object:Gem::Dependency
236
- name: rubocop-minitest
266
+ name: cane
237
267
  requirement: !ruby/object:Gem::Requirement
238
268
  requirements:
239
269
  - - ">="
240
270
  - !ruby/object:Gem::Version
241
- version: '0'
271
+ version: '2.6'
242
272
  type: :runtime
243
273
  prerelease: false
244
274
  version_requirements: !ruby/object:Gem::Requirement
245
275
  requirements:
246
276
  - - ">="
247
277
  - !ruby/object:Gem::Version
248
- version: '0'
278
+ version: '2.6'
249
279
  - !ruby/object:Gem::Dependency
250
- name: rubocop-rake
280
+ name: flog
251
281
  requirement: !ruby/object:Gem::Requirement
252
282
  requirements:
253
283
  - - ">="
254
284
  - !ruby/object:Gem::Version
255
- version: '0'
285
+ version: 4.1.1
256
286
  type: :runtime
257
287
  prerelease: false
258
288
  version_requirements: !ruby/object:Gem::Requirement
259
289
  requirements:
260
290
  - - ">="
261
291
  - !ruby/object:Gem::Version
262
- version: '0'
292
+ version: 4.1.1
263
293
  - !ruby/object:Gem::Dependency
264
- name: faraday
294
+ name: github-linguist
265
295
  requirement: !ruby/object:Gem::Requirement
266
296
  requirements:
267
- - - "~>"
297
+ - - ">="
268
298
  - !ruby/object:Gem::Version
269
- version: '1'
299
+ version: '0'
270
300
  type: :runtime
271
301
  prerelease: false
272
302
  version_requirements: !ruby/object:Gem::Requirement
273
303
  requirements:
274
- - - "~>"
304
+ - - ">="
275
305
  - !ruby/object:Gem::Version
276
- version: '1'
306
+ version: '0'
277
307
  - !ruby/object:Gem::Dependency
278
- name: rubocop-rspec
308
+ name: reek
279
309
  requirement: !ruby/object:Gem::Requirement
280
310
  requirements:
281
311
  - - ">="
282
312
  - !ruby/object:Gem::Version
283
- version: 1.19.0
313
+ version: 1.3.4
284
314
  type: :runtime
285
315
  prerelease: false
286
316
  version_requirements: !ruby/object:Gem::Requirement
287
317
  requirements:
288
318
  - - ">="
289
319
  - !ruby/object:Gem::Version
290
- version: 1.19.0
320
+ version: 1.3.4
291
321
  - !ruby/object:Gem::Dependency
292
- name: ruby_parser
322
+ name: flay
293
323
  requirement: !ruby/object:Gem::Requirement
294
324
  requirements:
295
325
  - - ">="
296
326
  - !ruby/object:Gem::Version
297
- version: 3.2.2
327
+ version: '2.4'
298
328
  - - "!="
299
329
  - !ruby/object:Gem::Version
300
- version: 3.6.6
330
+ version: 2.6.0
301
331
  type: :runtime
302
332
  prerelease: false
303
333
  version_requirements: !ruby/object:Gem::Requirement
304
334
  requirements:
305
335
  - - ">="
306
336
  - !ruby/object:Gem::Version
307
- version: 3.2.2
337
+ version: '2.4'
308
338
  - - "!="
309
339
  - !ruby/object:Gem::Version
310
- version: 3.6.6
340
+ version: 2.6.0
311
341
  - !ruby/object:Gem::Dependency
312
- name: json
342
+ name: rest-client
313
343
  requirement: !ruby/object:Gem::Requirement
314
344
  requirements:
315
345
  - - ">="
316
346
  - !ruby/object:Gem::Version
317
- version: '0'
347
+ version: 1.8.0
318
348
  type: :runtime
319
349
  prerelease: false
320
350
  version_requirements: !ruby/object:Gem::Requirement
321
351
  requirements:
322
352
  - - ">="
323
353
  - !ruby/object:Gem::Version
324
- version: '0'
354
+ version: 1.8.0
325
355
  - !ruby/object:Gem::Dependency
326
- name: bundler
356
+ name: mdl
327
357
  requirement: !ruby/object:Gem::Requirement
328
358
  requirements:
329
359
  - - ">="
330
360
  - !ruby/object:Gem::Version
331
- version: '1.1'
332
- type: :development
361
+ version: '0'
362
+ type: :runtime
333
363
  prerelease: false
334
364
  version_requirements: !ruby/object:Gem::Requirement
335
365
  requirements:
336
366
  - - ">="
337
367
  - !ruby/object:Gem::Version
338
- version: '1.1'
368
+ version: '0'
339
369
  - !ruby/object:Gem::Dependency
340
- name: minitest
370
+ name: rubocop
341
371
  requirement: !ruby/object:Gem::Requirement
342
372
  requirements:
343
373
  - - "~>"
344
374
  - !ruby/object:Gem::Version
345
- version: '5'
346
- type: :development
375
+ version: 1.39.0
376
+ type: :runtime
347
377
  prerelease: false
348
378
  version_requirements: !ruby/object:Gem::Requirement
349
379
  requirements:
350
380
  - - "~>"
351
381
  - !ruby/object:Gem::Version
352
- version: '5'
382
+ version: 1.39.0
353
383
  - !ruby/object:Gem::Dependency
354
- name: mocha
384
+ name: bigfiles
355
385
  requirement: !ruby/object:Gem::Requirement
356
386
  requirements:
357
387
  - - ">="
358
388
  - !ruby/object:Gem::Version
359
- version: '0'
360
- type: :development
389
+ version: 0.3.0
390
+ - - "!="
391
+ - !ruby/object:Gem::Version
392
+ version: 0.2.0
393
+ type: :runtime
361
394
  prerelease: false
362
395
  version_requirements: !ruby/object:Gem::Requirement
363
396
  requirements:
364
397
  - - ">="
365
398
  - !ruby/object:Gem::Version
366
- version: '0'
399
+ version: 0.3.0
400
+ - - "!="
401
+ - !ruby/object:Gem::Version
402
+ version: 0.2.0
367
403
  - !ruby/object:Gem::Dependency
368
- name: pronto
404
+ name: brakeman
369
405
  requirement: !ruby/object:Gem::Requirement
370
406
  requirements:
371
407
  - - ">="
372
408
  - !ruby/object:Gem::Version
373
409
  version: '0'
374
- type: :development
410
+ type: :runtime
375
411
  prerelease: false
376
412
  version_requirements: !ruby/object:Gem::Requirement
377
413
  requirements:
@@ -379,13 +415,13 @@ dependencies:
379
415
  - !ruby/object:Gem::Version
380
416
  version: '0'
381
417
  - !ruby/object:Gem::Dependency
382
- name: pronto-bigfiles
418
+ name: high_water_mark
383
419
  requirement: !ruby/object:Gem::Requirement
384
420
  requirements:
385
421
  - - ">="
386
422
  - !ruby/object:Gem::Version
387
423
  version: '0'
388
- type: :development
424
+ type: :runtime
389
425
  prerelease: false
390
426
  version_requirements: !ruby/object:Gem::Requirement
391
427
  requirements:
@@ -393,13 +429,27 @@ dependencies:
393
429
  - !ruby/object:Gem::Version
394
430
  version: '0'
395
431
  - !ruby/object:Gem::Dependency
396
- name: pronto-flake8
432
+ name: punchlist
433
+ requirement: !ruby/object:Gem::Requirement
434
+ requirements:
435
+ - - ">="
436
+ - !ruby/object:Gem::Version
437
+ version: '1.1'
438
+ type: :runtime
439
+ prerelease: false
440
+ version_requirements: !ruby/object:Gem::Requirement
441
+ requirements:
442
+ - - ">="
443
+ - !ruby/object:Gem::Version
444
+ version: '1.1'
445
+ - !ruby/object:Gem::Dependency
446
+ name: rails_best_practices
397
447
  requirement: !ruby/object:Gem::Requirement
398
448
  requirements:
399
449
  - - ">="
400
450
  - !ruby/object:Gem::Version
401
451
  version: '0'
402
- type: :development
452
+ type: :runtime
403
453
  prerelease: false
404
454
  version_requirements: !ruby/object:Gem::Requirement
405
455
  requirements:
@@ -407,13 +457,13 @@ dependencies:
407
457
  - !ruby/object:Gem::Version
408
458
  version: '0'
409
459
  - !ruby/object:Gem::Dependency
410
- name: pronto-punchlist
460
+ name: rubocop-minitest
411
461
  requirement: !ruby/object:Gem::Requirement
412
462
  requirements:
413
463
  - - ">="
414
464
  - !ruby/object:Gem::Version
415
465
  version: '0'
416
- type: :development
466
+ type: :runtime
417
467
  prerelease: false
418
468
  version_requirements: !ruby/object:Gem::Requirement
419
469
  requirements:
@@ -421,13 +471,13 @@ dependencies:
421
471
  - !ruby/object:Gem::Version
422
472
  version: '0'
423
473
  - !ruby/object:Gem::Dependency
424
- name: pronto-rubocop
474
+ name: rubocop-rake
425
475
  requirement: !ruby/object:Gem::Requirement
426
476
  requirements:
427
477
  - - ">="
428
478
  - !ruby/object:Gem::Version
429
479
  version: '0'
430
- type: :development
480
+ type: :runtime
431
481
  prerelease: false
432
482
  version_requirements: !ruby/object:Gem::Requirement
433
483
  requirements:
@@ -435,27 +485,61 @@ dependencies:
435
485
  - !ruby/object:Gem::Version
436
486
  version: '0'
437
487
  - !ruby/object:Gem::Dependency
438
- name: rake
488
+ name: faraday
489
+ requirement: !ruby/object:Gem::Requirement
490
+ requirements:
491
+ - - "~>"
492
+ - !ruby/object:Gem::Version
493
+ version: '1'
494
+ type: :runtime
495
+ prerelease: false
496
+ version_requirements: !ruby/object:Gem::Requirement
497
+ requirements:
498
+ - - "~>"
499
+ - !ruby/object:Gem::Version
500
+ version: '1'
501
+ - !ruby/object:Gem::Dependency
502
+ name: rubocop-rspec
439
503
  requirement: !ruby/object:Gem::Requirement
440
504
  requirements:
441
505
  - - ">="
442
506
  - !ruby/object:Gem::Version
443
- version: 12.3.3
444
- type: :development
507
+ version: 1.19.0
508
+ type: :runtime
445
509
  prerelease: false
446
510
  version_requirements: !ruby/object:Gem::Requirement
447
511
  requirements:
448
512
  - - ">="
449
513
  - !ruby/object:Gem::Version
450
- version: 12.3.3
514
+ version: 1.19.0
451
515
  - !ruby/object:Gem::Dependency
452
- name: rspec
516
+ name: ruby_parser
517
+ requirement: !ruby/object:Gem::Requirement
518
+ requirements:
519
+ - - ">="
520
+ - !ruby/object:Gem::Version
521
+ version: 3.2.2
522
+ - - "!="
523
+ - !ruby/object:Gem::Version
524
+ version: 3.6.6
525
+ type: :runtime
526
+ prerelease: false
527
+ version_requirements: !ruby/object:Gem::Requirement
528
+ requirements:
529
+ - - ">="
530
+ - !ruby/object:Gem::Version
531
+ version: 3.2.2
532
+ - - "!="
533
+ - !ruby/object:Gem::Version
534
+ version: 3.6.6
535
+ - !ruby/object:Gem::Dependency
536
+ name: json
453
537
  requirement: !ruby/object:Gem::Requirement
454
538
  requirements:
455
539
  - - ">="
456
540
  - !ruby/object:Gem::Version
457
541
  version: '0'
458
- type: :development
542
+ type: :runtime
459
543
  prerelease: false
460
544
  version_requirements: !ruby/object:Gem::Requirement
461
545
  requirements:
@@ -471,8 +555,9 @@ executables: []
471
555
  extensions: []
472
556
  extra_rdoc_files: []
473
557
  files:
474
- - License.txt
558
+ - CODE_OF_CONDUCT.md
475
559
  - README.md
560
+ - lib/quality.rb
476
561
  - lib/quality/command_output_processor.rb
477
562
  - lib/quality/config.rb
478
563
  - lib/quality/directory_of_classes.rb
@@ -503,10 +588,11 @@ files:
503
588
  - lib/quality/version.rb
504
589
  - lib/quality/which.rb
505
590
  - quality.gemspec
506
- homepage: http://github.com/apiology/quality
591
+ homepage: https://github.com/apiology/quality
507
592
  licenses:
508
- - MIT
509
- metadata: {}
593
+ - MIT license
594
+ metadata:
595
+ rubygems_mfa_required: 'true'
510
596
  post_install_message:
511
597
  rdoc_options: []
512
598
  require_paths:
@@ -515,15 +601,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
515
601
  requirements:
516
602
  - - ">="
517
603
  - !ruby/object:Gem::Version
518
- version: '0'
604
+ version: '2.7'
519
605
  required_rubygems_version: !ruby/object:Gem::Requirement
520
606
  requirements:
521
607
  - - ">="
522
608
  - !ruby/object:Gem::Version
523
609
  version: '0'
524
610
  requirements: []
525
- rubygems_version: 3.0.3
611
+ rubygems_version: 3.1.6
526
612
  signing_key:
527
613
  specification_version: 4
528
- summary: Code quality tools for Ruby
614
+ summary: Code quality ratchet for Ruby
529
615
  test_files: []
data/License.txt DELETED
@@ -1,20 +0,0 @@
1
- Copyright (c) 2013 Vincent Broz
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.