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 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