gl_rubocop 0.2.4 → 0.2.6

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: 20051ad7be570098d65231ae0699f2a8e0388ac1d46e635c2b967b04d4490278
4
- data.tar.gz: 92d0f9a01f967880e8db09a2715adad74144071489e3a39e0b05fd260dd54f33
3
+ metadata.gz: cc932e911296ebd58c3e59febe32b734287f3ac302762c807c7f2cf58cc1c3ea
4
+ data.tar.gz: 9e9a20252ffcf744d7c8faf367f53f355e07dfcd9d8cb20f29a7d28401c5fd42
5
5
  SHA512:
6
- metadata.gz: 0ad7a44349b6182c777f3277b84458624ed4010c6e8d5effc08461779262dc021081a83b2dbe1c0a325f86292b621ac2f73181c06ee24cda60b69a5ecd79f0eb
7
- data.tar.gz: 17b072554bdbcb5df215abe5dd0c01c7d64324a0db62fdd555c8e931b16fbaa259d97a1a1028581fc3340b27e6e4bfb93963581c7414f5300d322a577d826ccd
6
+ metadata.gz: c1f6f481ca4275167ba6c630eaf558a83bd29cac26f6a777c8354dd0dff798c792f86eaded520dab8df616294cb6c0941477a2343abc4a13bdfa548bb021e7b7
7
+ data.tar.gz: 3ef8ba758032a3623ebfe92fbc3cef16b4736b78e0875051ef1f158131f78bbf5b1cb8933ea12c78d4beb103c86d525e3f4ddd607e19d03cc69ea3bc331290d9
data/default.yml CHANGED
@@ -7,6 +7,7 @@ require:
7
7
  - ./lib/gl_rubocop/gl_cops/interactor_inherits_from_interactor_base.rb
8
8
  - ./lib/gl_rubocop/gl_cops/callback_method_names.rb
9
9
  - ./lib/gl_rubocop/gl_cops/prevent_erb_files.rb
10
+ - ./lib/gl_rubocop/gl_cops/rails_cache.rb
10
11
  - ./lib/gl_rubocop/gl_cops/sidekiq_inherits_from_sidekiq_job.rb
11
12
  - ./lib/gl_rubocop/gl_cops/unique_identifier.rb
12
13
 
@@ -37,6 +38,9 @@ GLCops/CallbackMethodNames:
37
38
  GLCops/PreventErbFiles:
38
39
  Enabled: true
39
40
 
41
+ GLCops/RailsCache:
42
+ Enabled: true
43
+
40
44
  GLCops/SidekiqInheritsFromSidekiqJob:
41
45
  Include:
42
46
  - 'app/**/*_worker.rb'
@@ -0,0 +1,24 @@
1
+ module GLRubocop
2
+ module GLCops
3
+ class RailsCache < RuboCop::Cop::Base
4
+ # This cop ensures that Rails.cache is not directly used.
5
+ # This is to prevent generation of unique key ids (SIG Code Quality Discussion 2024-12-16):
6
+ # https://www.notion.so/givelively/2024-12-16-152eb3d1736e805abe85de1fd96f3599?pvs=4#15eeb3d1736e80ecb82defd5d6b1f0e5
7
+
8
+ MSG = 'Rails.cache should not be used directly'.freeze
9
+
10
+ def_node_matcher :using_rails_cache?, <<~PATTERN
11
+ (send#{' '}
12
+ (send (const nil? :Rails) :cache)
13
+ {:fetch :read :write :delete :exist? :clear}
14
+ ...)
15
+ PATTERN
16
+
17
+ def on_send(node)
18
+ return unless using_rails_cache?(node)
19
+
20
+ add_offense(node)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -1,3 +1,3 @@
1
1
  module GLRubocop
2
- VERSION = '0.2.4'.freeze
2
+ VERSION = '0.2.6'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gl_rubocop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Give Lively
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-15 00:00:00.000000000 Z
11
+ date: 2025-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -123,6 +123,7 @@ files:
123
123
  - lib/gl_rubocop/gl_cops/callback_method_names.rb
124
124
  - lib/gl_rubocop/gl_cops/interactor_inherits_from_interactor_base.rb
125
125
  - lib/gl_rubocop/gl_cops/prevent_erb_files.rb
126
+ - lib/gl_rubocop/gl_cops/rails_cache.rb
126
127
  - lib/gl_rubocop/gl_cops/sidekiq_inherits_from_sidekiq_job.rb
127
128
  - lib/gl_rubocop/gl_cops/unique_identifier.rb
128
129
  - lib/gl_rubocop/version.rb