quality 14.1.0 → 15.0.0
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/lib/quality/quality_checker.rb +1 -4
- data/lib/quality/runner.rb +6 -5
- data/lib/quality/tools/bigfiles.rb +1 -1
- data/lib/quality/tools/rails_best_practices.rb +30 -0
- data/lib/quality/version.rb +1 -1
- data/quality.gemspec +2 -0
- metadata +30 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 995802b4ed3cd4dc1a74e479ceaef9ae9268bced
|
4
|
+
data.tar.gz: 122f1155c0b703f40d1edd9be73494d79c142778
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d29111841b9960995b55f0c9778afc1bfb4351377bd5e2224631d2d75a8913b7a866a617383b84f762b432dbc73d8e71da69177fefc5deafa82d10d546f72e1f
|
7
|
+
data.tar.gz: bfdb7160449283acd80159a8177a848324bae0e42445f3f821c976da534d1a5a48bda5fdc665b1f029602df0c31eecc64bcebf4cbafaa8ce22cc3be122e61146
|
@@ -55,7 +55,6 @@ module Quality
|
|
55
55
|
def check_exit_status(exit_status)
|
56
56
|
return if @command_options[:gives_error_code_on_violations] ||
|
57
57
|
@command_options[:gives_error_code_on_no_relevant_code]
|
58
|
-
|
59
58
|
fail("Error detected running #{full_cmd}. " \
|
60
59
|
"Exit status is #{exit_status}") if exit_status != 0
|
61
60
|
end
|
@@ -89,9 +88,7 @@ module Quality
|
|
89
88
|
private
|
90
89
|
|
91
90
|
def full_cmd
|
92
|
-
args = @command_options[:args]
|
93
|
-
args ||= ''
|
94
|
-
|
91
|
+
args = @command_options[:args] || ''
|
95
92
|
@found_output = false
|
96
93
|
RubySpawn.new(@cmd, args).invocation
|
97
94
|
end
|
data/lib/quality/runner.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'active_support/inflector'
|
1
2
|
require 'forwardable'
|
2
3
|
require_relative 'tools/cane'
|
3
4
|
require_relative 'tools/flay'
|
@@ -7,6 +8,7 @@ require_relative 'tools/rubocop'
|
|
7
8
|
require_relative 'tools/bigfiles'
|
8
9
|
require_relative 'tools/punchlist'
|
9
10
|
require_relative 'tools/brakeman'
|
11
|
+
require_relative 'tools/rails_best_practices'
|
10
12
|
|
11
13
|
module Quality
|
12
14
|
# Knows how to run different quality tools based on a configuration
|
@@ -17,9 +19,10 @@ module Quality
|
|
17
19
|
include Tools::Flog
|
18
20
|
include Tools::Reek
|
19
21
|
include Tools::Rubocop
|
20
|
-
include Tools::
|
22
|
+
include Tools::Bigfiles
|
21
23
|
include Tools::Punchlist
|
22
24
|
include Tools::Brakeman
|
25
|
+
include Tools::RailsBestPractices
|
23
26
|
|
24
27
|
extend ::Forwardable
|
25
28
|
|
@@ -53,9 +56,7 @@ module Quality
|
|
53
56
|
end
|
54
57
|
|
55
58
|
def run_ratchet
|
56
|
-
@config.all_output_files.each
|
57
|
-
run_ratchet_on_file(filename)
|
58
|
-
end
|
59
|
+
@config.all_output_files.each { |filename| run_ratchet_on_file(filename) }
|
59
60
|
end
|
60
61
|
|
61
62
|
def run_ratchet_on_file(filename)
|
@@ -81,7 +82,7 @@ module Quality
|
|
81
82
|
self.class.ancestors.map do |ancestor|
|
82
83
|
ancestor_name = ancestor.to_s
|
83
84
|
next unless ancestor_name.start_with?('Quality::Tools::')
|
84
|
-
ancestor_name.split('::').last.
|
85
|
+
ancestor_name.split('::').last.underscore
|
85
86
|
end.compact
|
86
87
|
end
|
87
88
|
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Quality
|
2
|
+
module Tools
|
3
|
+
# Adds 'rubocop' tool support to quality gem
|
4
|
+
module RailsBestPractices
|
5
|
+
private
|
6
|
+
|
7
|
+
def quality_rails_best_practices
|
8
|
+
ratchet_quality_cmd('rails_best_practices',
|
9
|
+
gives_error_code_on_violations: true) do |line|
|
10
|
+
self.class.count_rails_best_practices_violations(line)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.included(base)
|
15
|
+
base.extend ClassMethods
|
16
|
+
end
|
17
|
+
|
18
|
+
# See Rubocop.included
|
19
|
+
module ClassMethods
|
20
|
+
def count_rails_best_practices_violations(line)
|
21
|
+
if line =~ /.*:[0-9]* - /
|
22
|
+
1
|
23
|
+
else
|
24
|
+
0
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/quality/version.rb
CHANGED
data/quality.gemspec
CHANGED
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
|
|
30
30
|
s.rubygems_version = '1.3.6'
|
31
31
|
s.summary = 'Code quality tools for Ruby'
|
32
32
|
|
33
|
+
s.add_runtime_dependency('activesupport')
|
33
34
|
s.add_runtime_dependency('source_finder')
|
34
35
|
s.add_runtime_dependency('cane', ['>= 2.6'])
|
35
36
|
s.add_runtime_dependency('reek', ['>= 1.3.4'])
|
@@ -40,6 +41,7 @@ Gem::Specification.new do |s|
|
|
40
41
|
s.add_runtime_dependency('bigfiles', ['>= 0.1'])
|
41
42
|
s.add_runtime_dependency('punchlist', ['>= 1.1'])
|
42
43
|
s.add_runtime_dependency('brakeman')
|
44
|
+
s.add_runtime_dependency('rails_best_practices')
|
43
45
|
|
44
46
|
# need above 3.2.2 to support Ruby 2.0 syntax
|
45
47
|
#
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quality
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 15.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vince Broz
|
@@ -10,6 +10,20 @@ bindir: bin
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2015-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: source_finder
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,6 +156,20 @@ dependencies:
|
|
142
156
|
- - '>='
|
143
157
|
- !ruby/object:Gem::Version
|
144
158
|
version: '0'
|
159
|
+
- !ruby/object:Gem::Dependency
|
160
|
+
name: rails_best_practices
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - '>='
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0'
|
166
|
+
type: :runtime
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - '>='
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0'
|
145
173
|
- !ruby/object:Gem::Dependency
|
146
174
|
name: ruby_parser
|
147
175
|
requirement: !ruby/object:Gem::Requirement
|
@@ -271,6 +299,7 @@ files:
|
|
271
299
|
- lib/quality/tools/flay.rb
|
272
300
|
- lib/quality/tools/flog.rb
|
273
301
|
- lib/quality/tools/punchlist.rb
|
302
|
+
- lib/quality/tools/rails_best_practices.rb
|
274
303
|
- lib/quality/tools/reek.rb
|
275
304
|
- lib/quality/tools/rubocop.rb
|
276
305
|
- lib/quality/version.rb
|