quality 1.2.0 → 1.3.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
  SHA1:
3
- metadata.gz: 9b7bcd6756df46794914fc8b3bd3a11b4b025382
4
- data.tar.gz: f5384081e32874f06ea30117585748477b76e7c8
3
+ metadata.gz: 350f6c6730ee079bb5d55ac825ccbfd41e2fdfd2
4
+ data.tar.gz: 4c6c2f025cde6d119766c48c945e9edbd18fe032
5
5
  SHA512:
6
- metadata.gz: dae206fcd6c6013da70740077620154f77f09ed436634ceadf4b9d6e7d63c53cfe2bfab2d394eea8fe44c2854a216136fe50c5490c8dbe410ecdf9ad1a25ceae
7
- data.tar.gz: 601e6a2d4b8339580a0802742ebd5e308461d2a6816be27f37543513f90df2ee48365ee0b566b05fba1e98f05aa94504d2e4c793de50c9e93197a80016ed1257
6
+ metadata.gz: c77587613d9841670e38b35623dd180326b3fc12c1a01b671a6ceec66eddc9c9b5fa4a7cabb9eef3b395a5fecc8801b6bba9277e07927ddcc571adccf49bfbf1
7
+ data.tar.gz: 27690620eda4e95a5cd3f53590b06235ec28e8c7f4ca870f8dc3a2f447203d6a6cd898fff7e8ccd9b874e4b5daada3a318268ed5771c6b8e281138a872af7b43
data/Rakefile CHANGED
@@ -16,9 +16,9 @@ CLOBBER.include("#{BUILD_DIR}/*")
16
16
 
17
17
  Dir['tasks/**/*.rake'].each { |t| load t }
18
18
 
19
- task :default => [:test]
20
-
21
- Quality::Rake::Task.new
19
+ Quality::Rake::Task.new do |t|
20
+ t.skip_tools = ['reek']
21
+ end
22
22
 
23
23
  task :clear_metrics do |t|
24
24
  puts Time.now
@@ -30,3 +30,5 @@ task :clear_metrics do |t|
30
30
  end
31
31
 
32
32
  task :localtest => [:clear_metrics, :test, :quality]
33
+
34
+ task :default => [:localtest]
@@ -28,7 +28,7 @@ module Quality
28
28
  out
29
29
  end
30
30
 
31
- def process_line(&count_violations_on_line)
31
+ def process_line
32
32
  output =
33
33
  if emacs_format
34
34
  preprocess_line_for_emacs
@@ -1,4 +1,5 @@
1
1
  require_relative 'command_output_processor'
2
+ require 'English'
2
3
 
3
4
  module Quality
4
5
  # Runs a quality-checking, command, checks it agaist the existing
@@ -30,7 +31,7 @@ module Quality
30
31
  processor = @command_output_processor_class.new
31
32
  processor.emacs_format = @command_options[:emacs_format]
32
33
  exit_status = run_command(processor, &count_violations_on_line)
33
- [processor, $?.exitstatus]
34
+ [processor, exit_status]
34
35
  end
35
36
 
36
37
  def run_command(processor, &count_violations_on_line)
@@ -38,14 +39,15 @@ module Quality
38
39
  processor.file = file
39
40
  @command_output = processor.process!(&count_violations_on_line)
40
41
  end
42
+ $CHILD_STATUS.exitstatus
41
43
  end
42
44
 
43
45
  def check_exit_status(exit_status)
44
- unless @command_options[:gives_error_code_on_violations]
45
- if exit_status != 0
46
- fail("Error detected running #{full_cmd}. " +
47
- "Exit status is #{exit_status}, output is [#{out}]")
48
- end
46
+ return if @command_options[:gives_error_code_on_violations]
47
+
48
+ if exit_status != 0
49
+ fail("Error detected running #{full_cmd}. " \
50
+ "Exit status is #{exit_status}, output is [#{out}]")
49
51
  end
50
52
  end
51
53
 
@@ -61,8 +63,8 @@ module Quality
61
63
  existing = existing_violations
62
64
  report_violations(existing)
63
65
  if @violations > existing
64
- fail("Output from #{@cmd}\n\n#{@command_output}\n\n" +
65
- "Reduce total number of #{@cmd} violations " +
66
+ fail("Output from #{@cmd}\n\n#{@command_output}\n\n" \
67
+ "Reduce total number of #{@cmd} violations " \
66
68
  "to #{existing} or below!")
67
69
  elsif @violations < existing
68
70
  puts 'Ratcheting quality up...'
@@ -6,12 +6,10 @@ require 'rbconfig'
6
6
  require_relative '../quality_checker'
7
7
 
8
8
  module Quality
9
-
10
9
  #
11
10
  # Defines a task library for running quality's various tools
12
11
  #
13
12
  module Rake
14
-
15
13
  # A Rake task that run quality tools on a set of source files, and
16
14
  # enforce a ratcheting quality level.
17
15
  #
@@ -26,7 +24,6 @@ module Quality
26
24
  #
27
25
  # rake quality
28
26
  class Task < ::Rake::TaskLib
29
-
30
27
  # Name of quality task.
31
28
  # Defaults to :quality.
32
29
  attr_accessor :quality_name
@@ -42,7 +39,7 @@ module Quality
42
39
 
43
40
  # Array of directory names which contain ruby files to analyze.
44
41
  #
45
- # Defaults to %w{lib test spec feature}, which translates to *.rb in
42
+ # Defaults to %w(lib test spec feature), which translates to *.rb in
46
43
  # the base directory, as well as lib, test, and feature.
47
44
  attr_writer :ruby_dirs
48
45
 
@@ -97,14 +94,20 @@ module Quality
97
94
  private
98
95
 
99
96
  def define # :nodoc:
100
- desc 'Verify quality has increased or stayed ' +
97
+ desc 'Verify quality has increased or stayed ' \
101
98
  'the same' unless ::Rake.application.last_comment
102
99
  @dsl.define_task(quality_name) { run_quality }
103
100
  @dsl.define_task(ratchet_name) { run_ratchet }
101
+ tools.each do |tool|
102
+ @dsl.define_task(tool) { run_quality_with_tool(tool) }
103
+ end
104
+ end
105
+
106
+ def tools
107
+ %w(cane flog flay reek rubocop)
104
108
  end
105
109
 
106
110
  def run_quality
107
- tools = ['cane', 'flog', 'flay', 'reek', 'rubocop']
108
111
  tools.each do |tool|
109
112
  run_quality_with_tool(tool)
110
113
  end
@@ -181,7 +184,7 @@ module Quality
181
184
  end
182
185
 
183
186
  def ruby_dirs
184
- @ruby_dirs ||= %w{lib test spec feature}
187
+ @ruby_dirs ||= %w(lib test spec feature)
185
188
  end
186
189
 
187
190
  def ruby_files
@@ -1,3 +1,3 @@
1
1
  module Quality
2
- VERSION = '1.2.0'
2
+ VERSION = '1.3.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quality
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vince Broz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-29 00:00:00.000000000 Z
11
+ date: 2014-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cane