quality 0.2.2 → 0.2.3
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.
- data/lib/quality/rake/task.rb +19 -7
- data/lib/quality/version.rb +1 -1
- metadata +42 -24
- checksums.yaml +0 -7
data/lib/quality/rake/task.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'rake'
|
4
4
|
require 'rake/tasklib'
|
5
|
+
require 'rbconfig'
|
5
6
|
|
6
7
|
module Quality
|
7
8
|
|
@@ -84,13 +85,20 @@ module Quality
|
|
84
85
|
args ||= options[:args]
|
85
86
|
emacs_format ||= options[:emacs_format]
|
86
87
|
|
88
|
+
|
89
|
+
|
87
90
|
violations = 0
|
88
91
|
out = ""
|
89
92
|
found_output = false
|
90
|
-
|
93
|
+
if RbConfig::CONFIG['host_os'] =~ /mswin|mingw/
|
94
|
+
ext='.bat'
|
95
|
+
end
|
96
|
+
full_cmd = "#{cmd}#{ext}"
|
91
97
|
if !args.nil?
|
92
|
-
full_cmd = "#{
|
98
|
+
full_cmd = "#{full_cmd} #{args}"
|
93
99
|
end
|
100
|
+
|
101
|
+
|
94
102
|
IO.popen(full_cmd) do |f|
|
95
103
|
while line = f.gets
|
96
104
|
if emacs_format
|
@@ -142,10 +150,14 @@ module Quality
|
|
142
150
|
end
|
143
151
|
}
|
144
152
|
end
|
145
|
-
|
153
|
+
def ruby_files
|
154
|
+
Dir.glob('*.rb').concat(Dir.glob(File.join('{lib,test}', '**', '*.rb'))).join(' ')
|
155
|
+
end
|
146
156
|
def quality_reek
|
157
|
+
|
158
|
+
args = "--line-number #{ruby_files}"
|
147
159
|
ratchet_quality_cmd("reek",
|
148
|
-
args:
|
160
|
+
args: args,
|
149
161
|
emacs_format: true) { |line|
|
150
162
|
if line =~ /^ .* (.*)$/
|
151
163
|
1
|
@@ -158,7 +170,7 @@ module Quality
|
|
158
170
|
def quality_flog
|
159
171
|
threshold = 50
|
160
172
|
ratchet_quality_cmd("flog",
|
161
|
-
args: "--all --continue --methods-only
|
173
|
+
args: "--all --continue --methods-only #{ruby_files}",
|
162
174
|
emacs_format: true) { |line|
|
163
175
|
if line =~ /^ *([0-9.]*): flog total$/
|
164
176
|
0
|
@@ -178,7 +190,7 @@ module Quality
|
|
178
190
|
|
179
191
|
def quality_flay
|
180
192
|
ratchet_quality_cmd("flay",
|
181
|
-
args: "-m 75 -t 99999
|
193
|
+
args: "-m 75 -t 99999 #{ruby_files}",
|
182
194
|
emacs_format: true) { |line|
|
183
195
|
if line =~ /^[0-9]*\).* \(mass = ([0-9]*)\)$/
|
184
196
|
$1.to_i
|
@@ -190,7 +202,7 @@ module Quality
|
|
190
202
|
|
191
203
|
def quality_rubocop
|
192
204
|
ratchet_quality_cmd("rubocop",
|
193
|
-
args: "--format emacs
|
205
|
+
args: "--format emacs #{ruby_files}") { |line|
|
194
206
|
if line =~ /^.* files inspected, (.*) offences detected$/
|
195
207
|
$1.to_i
|
196
208
|
else
|
data/lib/quality/version.rb
CHANGED
metadata
CHANGED
@@ -1,128 +1,145 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quality
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Vince Broz
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-08-
|
12
|
+
date: 2013-08-19 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: cane
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- - '>='
|
19
|
+
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '2.6'
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
|
-
- - '>='
|
27
|
+
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '2.6'
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: flog
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
|
-
- - '>='
|
35
|
+
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
33
37
|
version: 4.1.1
|
34
38
|
type: :runtime
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
|
-
- - '>='
|
43
|
+
- - ! '>='
|
39
44
|
- !ruby/object:Gem::Version
|
40
45
|
version: 4.1.1
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: flay
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
|
-
- - '>='
|
51
|
+
- - ! '>='
|
46
52
|
- !ruby/object:Gem::Version
|
47
53
|
version: '2.4'
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
|
-
- - '>='
|
59
|
+
- - ! '>='
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '2.4'
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: rubocop
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
|
-
- - '>='
|
67
|
+
- - ! '>='
|
60
68
|
- !ruby/object:Gem::Version
|
61
69
|
version: '0'
|
62
70
|
type: :runtime
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
|
-
- - '>='
|
75
|
+
- - ! '>='
|
67
76
|
- !ruby/object:Gem::Version
|
68
77
|
version: '0'
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: ruby_parser
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
|
-
- - '>='
|
83
|
+
- - ! '>='
|
74
84
|
- !ruby/object:Gem::Version
|
75
85
|
version: 3.2.2
|
76
86
|
type: :runtime
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
|
-
- - '>='
|
91
|
+
- - ! '>='
|
81
92
|
- !ruby/object:Gem::Version
|
82
93
|
version: 3.2.2
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: json
|
85
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
|
-
- - '>='
|
99
|
+
- - ! '>='
|
88
100
|
- !ruby/object:Gem::Version
|
89
101
|
version: '0'
|
90
102
|
type: :runtime
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
93
106
|
requirements:
|
94
|
-
- - '>='
|
107
|
+
- - ! '>='
|
95
108
|
- !ruby/object:Gem::Version
|
96
109
|
version: '0'
|
97
110
|
- !ruby/object:Gem::Dependency
|
98
111
|
name: bundler
|
99
112
|
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
100
114
|
requirements:
|
101
|
-
- - '>='
|
115
|
+
- - ! '>='
|
102
116
|
- !ruby/object:Gem::Version
|
103
117
|
version: '1.1'
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
107
122
|
requirements:
|
108
|
-
- - '>='
|
123
|
+
- - ! '>='
|
109
124
|
- !ruby/object:Gem::Version
|
110
125
|
version: '1.1'
|
111
126
|
- !ruby/object:Gem::Dependency
|
112
127
|
name: rake
|
113
128
|
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
114
130
|
requirements:
|
115
|
-
- - '>='
|
131
|
+
- - ! '>='
|
116
132
|
- !ruby/object:Gem::Version
|
117
133
|
version: '0'
|
118
134
|
type: :development
|
119
135
|
prerelease: false
|
120
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
121
138
|
requirements:
|
122
|
-
- - '>='
|
139
|
+
- - ! '>='
|
123
140
|
- !ruby/object:Gem::Version
|
124
141
|
version: '0'
|
125
|
-
description: "Quality is a tool that runs quality checks on Ruby\ncode using rubocop,
|
142
|
+
description: ! "Quality is a tool that runs quality checks on Ruby\ncode using rubocop,
|
126
143
|
cane, reek, flog and flay, and makes sure \nyour numbers don't get any worse over
|
127
144
|
time.\n"
|
128
145
|
email:
|
@@ -139,25 +156,26 @@ files:
|
|
139
156
|
- quality.gemspec
|
140
157
|
homepage: http://github.com/apiology/quality
|
141
158
|
licenses: []
|
142
|
-
metadata: {}
|
143
159
|
post_install_message:
|
144
160
|
rdoc_options: []
|
145
161
|
require_paths:
|
146
162
|
- lib
|
147
163
|
required_ruby_version: !ruby/object:Gem::Requirement
|
164
|
+
none: false
|
148
165
|
requirements:
|
149
|
-
- - '>='
|
166
|
+
- - ! '>='
|
150
167
|
- !ruby/object:Gem::Version
|
151
168
|
version: '0'
|
152
169
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
170
|
+
none: false
|
153
171
|
requirements:
|
154
|
-
- - '>='
|
172
|
+
- - ! '>='
|
155
173
|
- !ruby/object:Gem::Version
|
156
174
|
version: '0'
|
157
175
|
requirements: []
|
158
176
|
rubyforge_project:
|
159
|
-
rubygems_version:
|
177
|
+
rubygems_version: 1.8.23
|
160
178
|
signing_key:
|
161
|
-
specification_version:
|
179
|
+
specification_version: 3
|
162
180
|
summary: Code quality tools for Ruby
|
163
181
|
test_files: []
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: ad86a6cfa43caf32a566f9c24920ed8e31160137
|
4
|
-
data.tar.gz: a2fe3245ae4ac82acbf105da3724d2aa79e4d62a
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 454e8ae49957e07a9ecff9232ff644fe1a004779fb808198048aa3a2f6fdfe7f03c32b2086b39eb7553f359f0813deef7a46852436c1e9f98205b185c9e8a122
|
7
|
-
data.tar.gz: 5e69269c4fc4a7e802cf2d584256c7440006a6504ad7749db9de1adf11872512975f18d405421da349604252060ecfe8e4cf169b8ba6ee15be65b63ea5ffa2d2
|