quality 14.1.0 → 15.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
  SHA1:
3
- metadata.gz: ff756ce9314546a2c59c80a36050ce9c66b4e6fc
4
- data.tar.gz: bd98a9ea95e2e15e5e9ada6f7f88d3f33e7bb7ea
3
+ metadata.gz: 995802b4ed3cd4dc1a74e479ceaef9ae9268bced
4
+ data.tar.gz: 122f1155c0b703f40d1edd9be73494d79c142778
5
5
  SHA512:
6
- metadata.gz: fbcd9d84b68a47dabffa94adf2f2f1ef9e303d2e0c9b4f7c50d6d95881dac53b11fb8c86d1dd09a397b6fc655d4e560d99470c1f936324f23aeaab76a5a3b8eb
7
- data.tar.gz: ac1efb5bb1eca658ee7c6f648a977d2a822b37a13de59ae88d2e39598be1a1490596d495b917e0ceda436d030bd5069bd365d26552fa9a252fe416198cbd8c3b
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
@@ -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::BigFiles
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 do |filename|
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.downcase
85
+ ancestor_name.split('::').last.underscore
85
86
  end.compact
86
87
  end
87
88
 
@@ -1,7 +1,7 @@
1
1
  module Quality
2
2
  module Tools
3
3
  # Adds 'bigfiles' tool support to quality gem
4
- module BigFiles
4
+ module Bigfiles
5
5
  private
6
6
 
7
7
  def bigfiles_args
@@ -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
@@ -2,5 +2,5 @@
2
2
  # reek, flog, flay and rubocop and makes sure your numbers don't get
3
3
  # any worse over time.
4
4
  module Quality
5
- VERSION = '14.1.0'
5
+ VERSION = '15.0.0'
6
6
  end
@@ -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: 14.1.0
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