clint_eastwood 0.0.6 → 0.0.7

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: d5980ab39bb65720071e64416661e90636db05ee
4
- data.tar.gz: 892de2187258ad39b011979d583973d0a04c9953
3
+ metadata.gz: 169221fed1e959e60675dab79818e7d8a3aa21f4
4
+ data.tar.gz: 0502b7c41e7585ddf0eceeed2e24baa377204e40
5
5
  SHA512:
6
- metadata.gz: bee85c02d878e28e481caa4f3af66481516dc794eaae6b9c5e5638812b2949518fbefeebe9f3693a2bac64f6e09c5ba1ae6e78784b92e210da68b6ffc49c015b
7
- data.tar.gz: 37f9357fa23fe83434cc54e2cb768a76cc0a760204dadd4d6703273c9f64dd89716b7051098b013ba756ff96fc203376fd67c3098b0646d12247642adc19094e
6
+ metadata.gz: 61e21cce65e8376f3cb5acc6778d649d7c5a05b705040a9a1cd9e093f11cb5550efa9f6125f3f06475bbffbff8a1e0dd54af2aba75a4102cc1d713260907c3f2
7
+ data.tar.gz: 4d6654e31610ca5b899ecf70df748dac5f121bfcfd1545584c76b94979d453865753c089190c23af78eaa4099a3647cb2f807b034d93cd5a8d6faf73647fbfe9
@@ -1,7 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- clint_eastwood (0.0.5)
4
+ clint_eastwood (0.0.6)
5
+ flay (~> 2.8.0)
6
+ flog (~> 4.4.0)
5
7
  rails_best_practices (~> 1.17.0)
6
8
  reek (~> 4.2.3)
7
9
  rubocop (~> 0.42.0)
@@ -31,12 +33,22 @@ GEM
31
33
  thread_safe (~> 0.3, >= 0.3.1)
32
34
  equalizer (0.0.11)
33
35
  erubis (2.7.0)
36
+ flay (2.8.0)
37
+ erubis (~> 2.7.0)
38
+ path_expander (~> 1.0)
39
+ ruby_parser (~> 3.0)
40
+ sexp_processor (~> 4.0)
41
+ flog (4.4.0)
42
+ path_expander (~> 1.0)
43
+ ruby_parser (~> 3.1, > 3.1.0)
44
+ sexp_processor (~> 4.4)
34
45
  i18n (0.7.0)
35
46
  ice_nine (0.11.2)
36
- json (2.0.2)
47
+ json (1.8.3)
37
48
  minitest (5.9.0)
38
49
  parser (2.3.1.2)
39
50
  ast (~> 2.2)
51
+ path_expander (1.0.0)
40
52
  powerpack (0.1.1)
41
53
  rails_best_practices (1.17.0)
42
54
  activesupport
@@ -60,6 +72,8 @@ GEM
60
72
  ruby-progressbar (~> 1.7)
61
73
  unicode-display_width (~> 1.0, >= 1.0.1)
62
74
  ruby-progressbar (1.8.1)
75
+ ruby_parser (3.8.2)
76
+ sexp_processor (~> 4.1)
63
77
  sexp_processor (4.7.0)
64
78
  thor (0.19.1)
65
79
  thread_safe (0.3.5)
@@ -25,6 +25,8 @@ Gem::Specification.new do |spec|
25
25
  spec.add_dependency 'rubocop', '~> 0.42.0'
26
26
  spec.add_dependency 'thor', '~> 0.19.1'
27
27
  spec.add_dependency 'rails_best_practices', '~> 1.17.0'
28
+ spec.add_dependency 'flog', '~> 4.4.0'
29
+ spec.add_dependency 'flay', '~> 2.8.0'
28
30
 
29
31
  spec.executables = ['clint']
30
32
  end
File without changes
@@ -1,4 +1,5 @@
1
1
  require 'clint_eastwood/version'
2
+ require 'reek'
2
3
  require 'rails_best_practices'
3
4
  require_relative 'better_rails_best_practices.rb'
4
5
 
@@ -18,13 +19,15 @@ module ClintEastwood
18
19
  # @param disable_rbp [Boolean] If true, this stops rails best practices from running
19
20
  #
20
21
  # @returns [TheEnforcer] A new enforcer object
21
- def initialize(path, lint: nil, disable_reek: false, disable_rubocop: false, disable_rbp: false)
22
+ def initialize(path, lint: nil, disable_reek: false, disable_rubocop: false, disable_rbp: false, disable_flog: false, disable_flay: false)
22
23
  gem_path = File.expand_path(File.dirname(__FILE__))
23
24
  @config_path = File.join(gem_path, '../config')
24
25
 
25
26
  @disable_rubocop = disable_rubocop
26
27
  @disable_reek = disable_reek
27
28
  @disable_rbp = disable_rbp
29
+ @disable_flog = disable_flog
30
+ @disable_flay = disable_flay
28
31
 
29
32
  @base_path = path
30
33
  @lint_paths = lint || %w(app lib config spec)
@@ -36,8 +39,10 @@ module ClintEastwood
36
39
  reek_result = @disable_reek || reek
37
40
  rubocop_result = @disable_rubocop || rubocop
38
41
  rbp_result = @disable_rbp || rails_best_practices
42
+ flog_result = @disable_flog || flog
43
+ flay_result = @disable_flay || flay
39
44
 
40
- reek_result && rubocop_result && rbp_result
45
+ reek_result && rubocop_result && rbp_result && flog_result && flay_result
41
46
  end
42
47
 
43
48
  private
@@ -51,18 +56,9 @@ module ClintEastwood
51
56
 
52
57
  # Run reek
53
58
  def reek
54
- @reek_config = locate_config('reek.yml')
55
-
56
- reek_command = []
57
-
58
- @lint_paths.each do |path|
59
- reek_command << File.join(@base_path, path)
60
- end
61
-
62
- reek_command.concat ['--config', "#{@reek_config}"]
63
-
64
- # Reek returns the number of errors, so make sure it's zero
65
- Reek::CLI::Application.new(reek_command).execute == 0
59
+ paths = @lint_paths.map { |p| File.join(@base_path, p) }.join(' ')
60
+ configuration = locate_config('reek_config.reek')
61
+ system "bundle exec reek --config #{configuration} #{paths}"
66
62
  end
67
63
 
68
64
  # Run rubocop
@@ -82,5 +78,19 @@ module ClintEastwood
82
78
  analyzer.output
83
79
  analyzer.runner.errors.size == 0
84
80
  end
81
+
82
+ # Run flog
83
+ def flog
84
+ paths = @lint_paths.map { |p| File.join(@base_path, p) }.join(' ')
85
+
86
+ system "bundle exec flog #{paths}"
87
+ end
88
+
89
+ # Run flay
90
+ def flay
91
+ paths = @lint_paths.map { |p| File.join(@base_path, p) }.join(' ')
92
+
93
+ system "bundle exec flay #{paths}"
94
+ end
85
95
  end
86
96
  end
@@ -10,6 +10,8 @@ module ClintEastwood
10
10
  option 'disable-rbp', type: :boolean
11
11
  option 'disable-rubocop', type: :boolean
12
12
  option 'disable-reek', type: :boolean
13
+ option 'disable-flog', type: :boolean
14
+ option 'disable-flay', type: :boolean
13
15
  option 'warn', type: :boolean
14
16
 
15
17
  default_task :lint
@@ -42,13 +44,17 @@ module ClintEastwood
42
44
  disable_rbp = options['disable-rbp'] || false
43
45
  disable_rubocop = options['disable-rubocop'] || false
44
46
  disable_reek = options['disable-reek'] || false
47
+ disable_flog = options['disable-flog'] || false
48
+ disable_flay = options['disable-flay'] || false
45
49
 
46
50
  ClintEastwood::TheEnforcer.new(
47
51
  path,
48
52
  lint: options[:lint],
49
53
  disable_rbp: disable_rbp,
50
54
  disable_rubocop: disable_rubocop,
51
- disable_reek: disable_reek
55
+ disable_reek: disable_reek,
56
+ disable_flog: disable_flog,
57
+ disable_flay: disable_flay
52
58
  )
53
59
  end
54
60
  end
@@ -1,4 +1,4 @@
1
1
  # Clint Eastwood
2
2
  module ClintEastwood
3
- VERSION = '0.0.6'
3
+ VERSION = '0.0.7'
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clint_eastwood
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joey Lorich
@@ -94,6 +94,34 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 1.17.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: flog
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 4.4.0
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 4.4.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: flay
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 2.8.0
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 2.8.0
97
125
  description: A simple way to run a series of linting tools with default configurations
98
126
  matching cloudspace's best practices
99
127
  email:
@@ -112,7 +140,7 @@ files:
112
140
  - bin/clint
113
141
  - clint_eastwood.gemspec
114
142
  - config/rails_best_practices.yml
115
- - config/reek.yml
143
+ - config/reek_config.reek
116
144
  - config/rubocop.yml
117
145
  - lib/better_rails_best_practices.rb
118
146
  - lib/clint_eastwood.rb