nxt_cop 2.3.0 → 2.5.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
  SHA256:
3
- metadata.gz: 36425e542055540a840b751553cd953353fafe70dc6201101dfb5c72432cba54
4
- data.tar.gz: 14770d51c1893f141891cf0df314b5b0af32bbd5539a862ab0868b9bc7061729
3
+ metadata.gz: d36d052009c7de1ca3318d89019cd42f7db459c9ee4b2c0dd88f2e63adc37a83
4
+ data.tar.gz: 5c8b68f2cf5db256d431f1e7a37702417401b82eb017af97a71f73c0f515fc2b
5
5
  SHA512:
6
- metadata.gz: 0e1325eb79a605393bf2c985bade464459b6e035d57e8c5b3e02d638e28ff6f6f973f899ae5d006189d95216ce2908f2e2abf7db244617b33bf52bc6ed4538a0
7
- data.tar.gz: '008136f537dd440edb75742c3c1219180dd33cd745644fa1fc489b4fa2234b1d846e7668bf83c880152f8ee5bca671945dd8a6a39796d0986cfd0ca111e16e43'
6
+ metadata.gz: 83bf1c4ce35ca15ea3211674015ca930797974855394b65fb3fbdd059399aae5542cf34be808d587df99a981ee2bc28fecfac7c2645bb244662bad3e35428fba
7
+ data.tar.gz: cf81b2893d0dfd9d8df6b4d9ff624fe16bfe70a546849fa5a0bb8a84b73f555ced914022ed452dc0e9f9ada71fcf4a9069c717a9dc3169b7d5b4241097472400
@@ -0,0 +1,37 @@
1
+ # See https://circleci.com/docs/2.0/language-ruby/ for more details
2
+
3
+ version: 2.1
4
+
5
+ orbs:
6
+ ruby: circleci/ruby@2.0.1
7
+
8
+ jobs:
9
+ checks:
10
+ parallelism: 1
11
+ resource_class: small
12
+ docker:
13
+ - image: cimg/ruby:3.3.2
14
+ steps:
15
+ - checkout
16
+ - ruby/install-deps:
17
+ key: gems-v1
18
+ include-branch-in-cache-key: false
19
+ # - ruby/rubocop-check
20
+ - run:
21
+ name: RSpec Tests
22
+ command: |-
23
+ bundle exec rspec --format RspecJunitFormatter \
24
+ --out /tmp/test-results/rspec/results.xml --format progress
25
+ # actually not necessary for test results to be collected, but these files
26
+ # won't show up in the web UI otherwise
27
+ - store_artifacts:
28
+ path: /tmp/rspec/
29
+ destination: rspec
30
+ - store_test_results:
31
+ path: /tmp/rspec/
32
+
33
+ workflows:
34
+ version: 2
35
+ checks:
36
+ jobs:
37
+ - checks
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --require spec_helper
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.3.0
1
+ 3.3.2
data/.tool-versions CHANGED
@@ -1 +1 @@
1
- ruby 3.3.0
1
+ ruby 3.3.2
data/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ # v2.5.0 2024-06-11
2
+ ## What's Changed
3
+ - Relaxes the rubocop version to not pin the patch
4
+ - Updates the ruby version to 3.3.2
5
+ - Updates dependencies
6
+
7
+ # v2.4.0 2024-02-19
8
+ ## What's Changed
9
+ - Add tests for custom cops
10
+ - Removed `Rails/MissingLoggerInclude` due to maintenance burden
11
+
1
12
  # v2.3.0 2024-02-09
2
13
  ## What's Changed
3
14
  - Tree shake the config (no rules change)
data/Gemfile.lock CHANGED
@@ -1,15 +1,18 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nxt_cop (2.3.0)
5
- rubocop (~> 1.60.0)
4
+ nxt_cop (2.5.0)
5
+ rubocop (~> 1.60)
6
+ rubocop-capybara (~> 2.21)
7
+ rubocop-factory_bot (~> 2.26)
6
8
  rubocop-rails (~> 2.8)
7
- rubocop-rspec (~> 2.12)
9
+ rubocop-rspec (~> 3.0)
10
+ rubocop-rspec_rails (~> 2.30)
8
11
 
9
12
  GEM
10
13
  remote: https://rubygems.org/
11
14
  specs:
12
- activesupport (7.1.3)
15
+ activesupport (7.1.3.4)
13
16
  base64
14
17
  bigdecimal
15
18
  concurrent-ruby (~> 1.0, >= 1.0.2)
@@ -21,28 +24,44 @@ GEM
21
24
  tzinfo (~> 2.0)
22
25
  ast (2.4.2)
23
26
  base64 (0.2.0)
24
- bigdecimal (3.1.6)
25
- concurrent-ruby (1.2.3)
27
+ bigdecimal (3.1.8)
28
+ concurrent-ruby (1.3.3)
26
29
  connection_pool (2.4.1)
27
- drb (2.2.0)
28
- ruby2_keywords
29
- i18n (1.14.1)
30
+ diff-lcs (1.5.1)
31
+ drb (2.2.1)
32
+ i18n (1.14.5)
30
33
  concurrent-ruby (~> 1.0)
31
- json (2.7.1)
34
+ json (2.7.2)
32
35
  language_server-protocol (3.17.0.3)
33
- minitest (5.22.2)
36
+ minitest (5.23.1)
34
37
  mutex_m (0.2.0)
35
- parallel (1.24.0)
36
- parser (3.3.0.5)
38
+ parallel (1.25.1)
39
+ parser (3.3.2.0)
37
40
  ast (~> 2.4.1)
38
41
  racc
39
- racc (1.7.3)
40
- rack (3.0.9)
42
+ racc (1.8.0)
43
+ rack (3.1.0)
41
44
  rainbow (3.1.1)
42
- rake (13.1.0)
43
- regexp_parser (2.9.0)
44
- rexml (3.2.6)
45
- rubocop (1.60.2)
45
+ rake (13.2.1)
46
+ regexp_parser (2.9.2)
47
+ rexml (3.3.0)
48
+ strscan
49
+ rspec (3.13.0)
50
+ rspec-core (~> 3.13.0)
51
+ rspec-expectations (~> 3.13.0)
52
+ rspec-mocks (~> 3.13.0)
53
+ rspec-core (3.13.0)
54
+ rspec-support (~> 3.13.0)
55
+ rspec-expectations (3.13.0)
56
+ diff-lcs (>= 1.2.0, < 2.0)
57
+ rspec-support (~> 3.13.0)
58
+ rspec-mocks (3.13.1)
59
+ diff-lcs (>= 1.2.0, < 2.0)
60
+ rspec-support (~> 3.13.0)
61
+ rspec-support (3.13.1)
62
+ rspec_junit_formatter (0.6.0)
63
+ rspec-core (>= 2, < 4, != 2.12.0)
64
+ rubocop (1.64.1)
46
65
  json (~> 2.3)
47
66
  language_server-protocol (>= 3.17.0)
48
67
  parallel (~> 1.10)
@@ -50,26 +69,27 @@ GEM
50
69
  rainbow (>= 2.2.2, < 4.0)
51
70
  regexp_parser (>= 1.8, < 3.0)
52
71
  rexml (>= 3.2.5, < 4.0)
53
- rubocop-ast (>= 1.30.0, < 2.0)
72
+ rubocop-ast (>= 1.31.1, < 2.0)
54
73
  ruby-progressbar (~> 1.7)
55
74
  unicode-display_width (>= 2.4.0, < 3.0)
56
- rubocop-ast (1.30.0)
57
- parser (>= 3.2.1.0)
58
- rubocop-capybara (2.20.0)
75
+ rubocop-ast (1.31.3)
76
+ parser (>= 3.3.1.0)
77
+ rubocop-capybara (2.21.0)
59
78
  rubocop (~> 1.41)
60
- rubocop-factory_bot (2.25.1)
61
- rubocop (~> 1.41)
62
- rubocop-rails (2.23.1)
79
+ rubocop-factory_bot (2.26.1)
80
+ rubocop (~> 1.61)
81
+ rubocop-rails (2.25.0)
63
82
  activesupport (>= 4.2.0)
64
83
  rack (>= 1.1)
65
84
  rubocop (>= 1.33.0, < 2.0)
66
- rubocop-ast (>= 1.30.0, < 2.0)
67
- rubocop-rspec (2.26.1)
68
- rubocop (~> 1.40)
69
- rubocop-capybara (~> 2.17)
70
- rubocop-factory_bot (~> 2.22)
85
+ rubocop-ast (>= 1.31.1, < 2.0)
86
+ rubocop-rspec (3.0.1)
87
+ rubocop (~> 1.61)
88
+ rubocop-rspec_rails (2.30.0)
89
+ rubocop (~> 1.61)
90
+ rubocop-rspec (~> 3, >= 3.0.1)
71
91
  ruby-progressbar (1.13.0)
72
- ruby2_keywords (0.0.5)
92
+ strscan (3.1.0)
73
93
  tzinfo (2.0.6)
74
94
  concurrent-ruby (~> 1.0)
75
95
  unicode-display_width (2.5.0)
@@ -81,6 +101,8 @@ DEPENDENCIES
81
101
  bundler (~> 2.1)
82
102
  nxt_cop!
83
103
  rake (~> 13.0)
104
+ rspec
105
+ rspec_junit_formatter
84
106
 
85
107
  BUNDLED WITH
86
- 2.1.4
108
+ 2.5.5
data/default.yml CHANGED
@@ -3,7 +3,6 @@ require:
3
3
  - rubocop-rails
4
4
  - rubocop-rspec
5
5
  - ./custom_cops/nxt_core/rails/use_of_rails_logger.rb
6
- - ./custom_cops/nxt_core/rails/missing_logger_include.rb
7
6
 
8
7
  inherit_mode:
9
8
  merge:
@@ -12,9 +11,6 @@ inherit_mode:
12
11
 
13
12
  Rails/UseOfRailsLogger:
14
13
  Description: "Custom Getsafe cop to ensure the correct logger is used"
15
- Rails/MissingLoggerInclude:
16
- Description: "Custom Getsafe cop to find missing `include` statements when using our custom logger"
17
- SafeAutoCorrect: false
18
14
 
19
15
  AllCops:
20
16
  Exclude:
@@ -1,3 +1,3 @@
1
1
  module NxtCop
2
- VERSION = '2.3.0'.freeze
2
+ VERSION = '2.5.0'.freeze
3
3
  end
data/nxt_cop.gemspec CHANGED
@@ -33,9 +33,14 @@ Gem::Specification.new do |spec|
33
33
 
34
34
  spec.required_ruby_version = '>= 3.2'
35
35
 
36
- spec.add_dependency 'rubocop', '~> 1.60.0'
36
+ spec.add_dependency 'rubocop', '~> 1.60'
37
+ spec.add_dependency 'rubocop-capybara', '~> 2.21'
38
+ spec.add_dependency 'rubocop-factory_bot', '~> 2.26'
37
39
  spec.add_dependency 'rubocop-rails', '~> 2.8'
38
- spec.add_dependency 'rubocop-rspec', '~> 2.12'
40
+ spec.add_dependency 'rubocop-rspec', '~> 3.0'
41
+ spec.add_dependency 'rubocop-rspec_rails', '~> 2.30'
39
42
  spec.add_development_dependency 'bundler', '~> 2.1'
40
43
  spec.add_development_dependency 'rake', '~> 13.0'
44
+ spec.add_development_dependency 'rspec'
45
+ spec.add_development_dependency 'rspec_junit_formatter'
41
46
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nxt_cop
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Livingstone
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-02-14 00:00:00.000000000 Z
11
+ date: 2024-06-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -16,14 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.60.0
19
+ version: '1.60'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.60.0
26
+ version: '1.60'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rubocop-capybara
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.21'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.21'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop-factory_bot
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.26'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.26'
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: rubocop-rails
29
57
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +72,28 @@ dependencies:
44
72
  requirements:
45
73
  - - "~>"
46
74
  - !ruby/object:Gem::Version
47
- version: '2.12'
75
+ version: '3.0'
48
76
  type: :runtime
49
77
  prerelease: false
50
78
  version_requirements: !ruby/object:Gem::Requirement
51
79
  requirements:
52
80
  - - "~>"
53
81
  - !ruby/object:Gem::Version
54
- version: '2.12'
82
+ version: '3.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop-rspec_rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '2.30'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '2.30'
55
97
  - !ruby/object:Gem::Dependency
56
98
  name: bundler
57
99
  requirement: !ruby/object:Gem::Requirement
@@ -80,13 +122,43 @@ dependencies:
80
122
  - - "~>"
81
123
  - !ruby/object:Gem::Version
82
124
  version: '13.0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rspec
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rspec_junit_formatter
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
83
153
  description:
84
154
  email:
85
155
  executables: []
86
156
  extensions: []
87
157
  extra_rdoc_files: []
88
158
  files:
159
+ - ".circleci/config.yml"
89
160
  - ".gitignore"
161
+ - ".rspec"
90
162
  - ".rubocop.yml"
91
163
  - ".ruby-version"
92
164
  - ".tool-versions"
@@ -100,7 +172,6 @@ files:
100
172
  - bin/guard
101
173
  - bin/rspec
102
174
  - bin/setup
103
- - custom_cops/nxt_core/rails/missing_logger_include.rb
104
175
  - custom_cops/nxt_core/rails/use_of_rails_logger.rb
105
176
  - default.yml
106
177
  - lib/nxt_cop/version.rb
@@ -128,7 +199,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
199
  - !ruby/object:Gem::Version
129
200
  version: '0'
130
201
  requirements: []
131
- rubygems_version: 3.5.3
202
+ rubygems_version: 3.5.9
132
203
  signing_key:
133
204
  specification_version: 4
134
205
  summary: Getsafe shared Rubocop.
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module CustomCops
4
- module NxtCore
5
- module Rails
6
- # The NxtCore logger requires an include in most cases. Ensures it is present.
7
- #
8
- # @safety
9
- # This cop's autocorrection is unsafe because
10
- # `logger` may refer to an instance variable or other method of the class.
11
- class MissingLoggerInclude < RuboCop::Cop::Base
12
- extend RuboCop::Cop::AutoCorrector
13
-
14
- RESTRICT_ON_SEND = [:logger].freeze
15
-
16
- MSG = 'Missing `include Nxt::Loggable` for a class which uses the logger.'
17
-
18
- # NodePattern docs: https://github.com/rubocop/rubocop-ast/blob/master/docs/modules/ROOT/pages/node_pattern.adoc
19
- def_node_matcher :includes_nxt_loggable?, <<~PATTERN
20
- (begin <(send nil? :include (const (const nil? :Nxt) :Loggable)) ...>)
21
- PATTERN
22
-
23
- def on_send(node)
24
- return unless node.receiver.nil?
25
-
26
- class_node = node.ancestors.find(&:class_type?)
27
- return unless class_node
28
-
29
- class_definition_node = class_node.each_child_node(:begin).first
30
- return if includes_nxt_loggable?(class_definition_node)
31
-
32
- add_offense(class_node, message: MSG) do |corrector|
33
- corrector.insert_before(class_definition_node.child_nodes.first, "include Nxt::Loggable\n")
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end