quality 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- full_cmd = cmd
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 = "#{cmd} #{args}"
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: "--line-number *.rb lib/*.rb 2>/dev/null",
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 . 2>/dev/null",
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 . 2>/dev/null",
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 2>&1") { |line|
205
+ args: "--format emacs #{ruby_files}") { |line|
194
206
  if line =~ /^.* files inspected, (.*) offences detected$/
195
207
  $1.to_i
196
208
  else
@@ -1,3 +1,3 @@
1
1
  module Quality
2
- VERSION = '0.2.2'
2
+ VERSION = '0.2.3'
3
3
  end
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.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-18 00:00:00.000000000 Z
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: 2.0.6
177
+ rubygems_version: 1.8.23
160
178
  signing_key:
161
- specification_version: 4
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