rubocop-g2 1.3.0 → 1.5.2

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
  SHA256:
3
- metadata.gz: 033ffbc8780cc34230bb9d21efe9011dd11bff56ae3068a9da185b5c2f046f68
4
- data.tar.gz: 4c471f968eba3c03401204937d77c1d2575e515417a32eec2c11a2083324820f
3
+ metadata.gz: 982a0b5149f0b032cbc1507f6c73fbbefe834747ac7ccf539b5a63dcaa942a6c
4
+ data.tar.gz: 88056a2738f25250eba732b682b769168289ca3d09d931b778cdb559a96a3dfb
5
5
  SHA512:
6
- metadata.gz: 545697d4c42d61a349842f4b66218d4fabbf020e41885934e614135084f954bb72228815cef3e269d5b6fe17f9fccd41844957f02d177734c23d7040fca8cd79
7
- data.tar.gz: 81eaff14fcca9429b69c15d8dc9010a19c1a414140cc2f3d02624966adc3f3c948798e49efd8475c77d7b93485fefdde80f12bda1cf9d235625b829572fff24e
6
+ metadata.gz: 3d0f849b6d7db262ccacaf432bb69a957cca880479b48bb9c25989fda6b6c9f31371450d0c050ad9a93a06ca26bd13279b2a7da0504202180b848e3ece130eb7
7
+ data.tar.gz: 3a578661ba3403a7d011f2e7450918b9f35f16896d43fc46ed6b6d3c05dfd81ca7b8c2dd689d879e26276049f4e9b40a4bed7809ece78acb97bb9e161a6e8fcf
data/.tool-versions CHANGED
@@ -1 +1 @@
1
- ruby 2.7.2
1
+ ruby 3.0.3
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rubocop-g2 (1.3.0)
4
+ rubocop-g2 (1.5.2)
5
5
  rubocop (>= 0.82)
6
6
  rubocop-rails (>= 2.5)
7
7
  rubocop-rspec (>= 1.39)
@@ -9,22 +9,21 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activesupport (6.0.3.4)
12
+ activesupport (7.0.0)
13
13
  concurrent-ruby (~> 1.0, >= 1.0.2)
14
- i18n (>= 0.7, < 2)
15
- minitest (~> 5.1)
16
- tzinfo (~> 1.1)
17
- zeitwerk (~> 2.2, >= 2.2.2)
18
- ast (2.4.1)
14
+ i18n (>= 1.6, < 2)
15
+ minitest (>= 5.1)
16
+ tzinfo (~> 2.0)
17
+ ast (2.4.2)
19
18
  coderay (1.1.2)
20
- concurrent-ruby (1.1.7)
19
+ concurrent-ruby (1.1.9)
21
20
  diff-lcs (1.3)
22
- i18n (1.8.5)
21
+ i18n (1.8.11)
23
22
  concurrent-ruby (~> 1.0)
24
23
  method_source (0.9.2)
25
- minitest (5.14.2)
26
- parallel (1.20.0)
27
- parser (2.7.2.0)
24
+ minitest (5.15.0)
25
+ parallel (1.21.0)
26
+ parser (3.1.0.0)
28
27
  ast (~> 2.4.1)
29
28
  pry (0.12.2)
30
29
  coderay (~> 1.1.0)
@@ -32,8 +31,8 @@ GEM
32
31
  rack (2.2.3)
33
32
  rainbow (3.0.0)
34
33
  rake (12.3.3)
35
- regexp_parser (1.8.2)
36
- rexml (3.2.4)
34
+ regexp_parser (2.2.0)
35
+ rexml (3.2.5)
37
36
  rspec (3.8.0)
38
37
  rspec-core (~> 3.8.0)
39
38
  rspec-expectations (~> 3.8.0)
@@ -47,30 +46,27 @@ GEM
47
46
  diff-lcs (>= 1.2.0, < 2.0)
48
47
  rspec-support (~> 3.8.0)
49
48
  rspec-support (3.8.3)
50
- rubocop (1.2.0)
49
+ rubocop (1.24.1)
51
50
  parallel (~> 1.10)
52
- parser (>= 2.7.1.5)
51
+ parser (>= 3.0.0.0)
53
52
  rainbow (>= 2.2.2, < 4.0)
54
- regexp_parser (>= 1.8)
53
+ regexp_parser (>= 1.8, < 3.0)
55
54
  rexml
56
- rubocop-ast (>= 1.0.1)
55
+ rubocop-ast (>= 1.15.1, < 2.0)
57
56
  ruby-progressbar (~> 1.7)
58
- unicode-display_width (>= 1.4.0, < 2.0)
59
- rubocop-ast (1.1.1)
60
- parser (>= 2.7.1.5)
61
- rubocop-rails (2.8.1)
57
+ unicode-display_width (>= 1.4.0, < 3.0)
58
+ rubocop-ast (1.15.1)
59
+ parser (>= 3.0.1.1)
60
+ rubocop-rails (2.13.0)
62
61
  activesupport (>= 4.2.0)
63
62
  rack (>= 1.1)
64
- rubocop (>= 0.87.0)
65
- rubocop-rspec (2.0.0)
66
- rubocop (~> 1.0)
67
- rubocop-ast (>= 1.1.0)
68
- ruby-progressbar (1.10.1)
69
- thread_safe (0.3.6)
70
- tzinfo (1.2.8)
71
- thread_safe (~> 0.1)
72
- unicode-display_width (1.7.0)
73
- zeitwerk (2.4.1)
63
+ rubocop (>= 1.7.0, < 2.0)
64
+ rubocop-rspec (2.7.0)
65
+ rubocop (~> 1.19)
66
+ ruby-progressbar (1.11.0)
67
+ tzinfo (2.0.4)
68
+ concurrent-ruby (~> 1.0)
69
+ unicode-display_width (2.1.0)
74
70
 
75
71
  PLATFORMS
76
72
  ruby
@@ -83,4 +79,4 @@ DEPENDENCIES
83
79
  rubocop-g2!
84
80
 
85
81
  BUNDLED WITH
86
- 2.1.4
82
+ 2.2.32
@@ -1,10 +1,12 @@
1
- RSpec:
2
- Include:
3
- - '_spec.rb$'
4
-
5
1
  Lint/Void:
6
2
  Enabled: false
7
3
 
4
+ RSpec:
5
+ Language:
6
+ Includes:
7
+ Examples:
8
+ - include_tests
9
+
8
10
  RSpec/LetSetup:
9
11
  Enabled: false
10
12
 
@@ -0,0 +1,33 @@
1
+ module RuboCop
2
+ module Cop
3
+ module G2
4
+ class AccessibleIcons < RuboCop::Cop::Cop
5
+ MSG = 'Make SVGs accessible by either marking them as decorative (`decorative: true`) '\
6
+ "or adding a label (`aria_label: t('path.to.description')`)".freeze
7
+
8
+ RESTRICT_ON_SEND = %i(inline_icon).freeze
9
+
10
+ def on_send(node)
11
+ keyword_args = array_of_kwargs node.arguments
12
+ return if args_include_decorative?(keyword_args) ^ args_include_aria_label?(keyword_args)
13
+
14
+ add_offense node
15
+ end
16
+
17
+ private
18
+
19
+ def array_of_kwargs(args)
20
+ args.find(&:hash_type?)&.children&.map(&:children) || []
21
+ end
22
+
23
+ def args_include_decorative?(args)
24
+ args.include? [s(:sym, :decorative), s(:true)]
25
+ end
26
+
27
+ def args_include_aria_label?(args)
28
+ args.any? { |arg| arg.first == s(:sym, :aria_label) && arg.last != s(:nil) }
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,18 @@
1
+ module RuboCop
2
+ module Cop
3
+ module G2
4
+ class BanSidekiqWorker < RuboCop::Cop::Cop
5
+ MSG = 'Please use Sidekiq::Job instead of Sidekiq::Worker'.freeze
6
+
7
+ def_node_search :sidekiq_worker?, <<~PATTERN
8
+ (send nil? :include (const (const nil? :Sidekiq) :Worker))
9
+ PATTERN
10
+
11
+ def on_send(node)
12
+ return unless sidekiq_worker?(node)
13
+ add_offense(node, location: :expression)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,5 +1,5 @@
1
1
  module RuboCop
2
2
  module G2
3
- VERSION = '1.3.0'.freeze
3
+ VERSION = '1.5.2'.freeze
4
4
  end
5
5
  end
data/lib/rubocop_g2.rb CHANGED
@@ -2,6 +2,8 @@ require 'rubocop'
2
2
 
3
3
  require_relative 'rubocop/g2/version'
4
4
  require_relative 'rubocop/cop/g2/ban_decorators'
5
+ require_relative 'rubocop/cop/g2/ban_sidekiq_worker'
5
6
  require_relative 'rubocop/cop/g2/predicate_memoization'
6
7
  require_relative 'rubocop/cop/g2/raw_connection_execute'
7
8
  require_relative 'rubocop/cop/g2/aggregates_model_boundary'
9
+ require_relative 'rubocop/cop/g2/accessible_icons'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-g2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Mannino
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-11 00:00:00.000000000 Z
11
+ date: 2022-01-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -108,7 +108,7 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '3.7'
111
- description:
111
+ description:
112
112
  email:
113
113
  - pmannino@g2.com
114
114
  executables: []
@@ -126,8 +126,10 @@ files:
126
126
  - config/rspec/default.yml
127
127
  - config/ruby/default.yml
128
128
  - lib/rubocop-g2.rb
129
+ - lib/rubocop/cop/g2/accessible_icons.rb
129
130
  - lib/rubocop/cop/g2/aggregates_model_boundary.rb
130
131
  - lib/rubocop/cop/g2/ban_decorators.rb
132
+ - lib/rubocop/cop/g2/ban_sidekiq_worker.rb
131
133
  - lib/rubocop/cop/g2/predicate_memoization.rb
132
134
  - lib/rubocop/cop/g2/raw_connection_execute.rb
133
135
  - lib/rubocop/g2/version.rb
@@ -136,7 +138,7 @@ files:
136
138
  homepage: https://g2.com
137
139
  licenses: []
138
140
  metadata: {}
139
- post_install_message:
141
+ post_install_message:
140
142
  rdoc_options: []
141
143
  require_paths:
142
144
  - lib
@@ -151,8 +153,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
151
153
  - !ruby/object:Gem::Version
152
154
  version: '0'
153
155
  requirements: []
154
- rubygems_version: 3.1.4
155
- signing_key:
156
+ rubygems_version: 3.2.32
157
+ signing_key:
156
158
  specification_version: 4
157
159
  summary: Custom cops for G2.
158
160
  test_files: []