rubocop-fourshark 0.9.0 → 0.10.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: f809e807d128c7ab3f1bd4f3f32217bfde29b24c45c3c3e610531fa08fff38c2
4
- data.tar.gz: cf503705817938741d2b144fbb38d1887f72a47bbd0ac0b1e761c46cc3299f70
3
+ metadata.gz: 6c6c6460f92a176876caceeea69665b587c8df4502c09ed2ac8472113a0cabbb
4
+ data.tar.gz: 3b5ce9b992dce38aa64163363b2495b1dc1f9a6af2373d2b23b296e3f9242169
5
5
  SHA512:
6
- metadata.gz: a37d20936f3bc14e9a5d7c92777a222fb2b364840501775d5ea301d27de15ba69863a5959aca707187d10053495d3753c5012e790fbba5d914500eacea0ea481
7
- data.tar.gz: 85896dc4843fdb5cb2f86ac8366f3fd3284e63928c0bd95779d280fb9807bb61866d7aa68cdc8645f6bdb3543c3b0886e1b2518246b68331ccc02fb8f108f6c4
6
+ metadata.gz: d4c6340581cd762875dbdeead991ea6d6f6ddadf420a5261345ef396ba8b1ca6bedd148d411c7b061615486cfbfb44e84983acd940f5d0ab632d99af97c2100c
7
+ data.tar.gz: bfc42021a9aba8b72ecdded7a31f6965bd9eb6d31408762e9d2621cfc60597df16c81ede7f9b9c6b9112f80587c7b62e3cff2d7d02c331345f2ea64934733d0e
data/.grant.yaml ADDED
@@ -0,0 +1,28 @@
1
+ # License allow-list enforced by `grant` over the Syft SBOM (see .github/workflows/main.yml).
2
+ # Mirrors the licenses the 4Shark Ruby projects permit. require-license/require-known-license
3
+ # are false so a dependency with no declared license or a non-SPDX license string still passes.
4
+ allow:
5
+ - MIT
6
+ - Apache-2.0
7
+ - "BSD-2-Clause"
8
+ - "BSD-3-Clause"
9
+ - "BSD"
10
+ - "BSD 2-Clause"
11
+ - ISC
12
+ - Ruby
13
+ - ruby
14
+ - "same as ruby's"
15
+ - Zlib
16
+ - "LGPL-2.1*"
17
+ - "LGPL-3.0*"
18
+ - MPL-2.0
19
+ - "Artistic-*"
20
+ - "Brakeman Public Use License"
21
+ - "GPL-2.0*"
22
+ - "GPL-3.0*"
23
+ - GPLv2
24
+ - WTFPL
25
+ - "Prosperity*"
26
+
27
+ require-license: false
28
+ require-known-license: false
data/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ ## [0.10.0] - 2026-10-02
2
+
3
+ ### Added
4
+
5
+ - License compliance verification
6
+
7
+ ### Changed
8
+
9
+ - Gem update pull requests limited to the named gem
10
+ - Minimum release age verification across lockfiles and manifests
11
+ - License check fails at a failed tool install
12
+ - `Style/DisallowDelegate` accepts a constant the object supplies to the collaborator
13
+
1
14
  ## [0.9.0] - 2026-08-31
2
15
 
3
16
  ### Added
@@ -44,10 +44,10 @@ module RuboCop
44
44
  # contributes something the caller would otherwise have to reach in and
45
45
  # take, and the result is a simpler API on the object that owns the data.
46
46
  #
47
- # Own state is an instance variable, `self`, or a receiverless call,
48
- # reached directly, through a wrapper, or through a call on it — `record`,
49
- # `record.owner_id` and `[record.owner_id]` all carry the object's own
50
- # data. A method PARAMETER does not: it arrives as an `lvar`, so a setter
47
+ # Own state is an instance variable, `self`, a receiverless call, or a
48
+ # constant, reached directly, through a wrapper, or through a call on it —
49
+ # `record.owner_id` and `Settings.keep_alive` both carry data the object
50
+ # chose to supply. A method PARAMETER does not: it arrives as an `lvar`, so a setter
51
51
  # handing its argument to a collaborator stays flagged.
52
52
  #
53
53
  # Two limits keep the exemption from swallowing the rule.
@@ -224,8 +224,8 @@ module RuboCop
224
224
  end
225
225
 
226
226
  # A method parameter reaches the body as an `lvar`, so only an instance
227
- # variable, `self`, or a receiverless call counts as the object's own
228
- # state — read directly, through a wrapper, or through a call on it.
227
+ # variable, `self`, a receiverless call, or a constant counts as the
228
+ # object's own state — read directly, through a wrapper, or through a call on it.
229
229
  # Anything rooted at the collaborator is that collaborator's own data
230
230
  # coming back, which is the echo the rule forbids. The first guard
231
231
  # refuses anything that is not a node, which covers both the nil child
@@ -236,6 +236,7 @@ module RuboCop
236
236
  return false if argument == collaborator
237
237
  return true if argument.ivar_type?
238
238
  return true if argument.self_type?
239
+ return true if argument.const_type?
239
240
  return own_state?(argument.receiver, collaborator) if call_with_receiver?(argument)
240
241
  return true if argument.send_type?
241
242
  return argument.children.any? { |child| own_state?(child, collaborator) } if wrapper?(argument)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RuboCop
4
4
  module Fourshark
5
- VERSION = '0.9.0'
5
+ VERSION = '0.10.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-fourshark
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paulo Ribeiro
@@ -127,6 +127,7 @@ executables: []
127
127
  extensions: []
128
128
  extra_rdoc_files: []
129
129
  files:
130
+ - ".grant.yaml"
130
131
  - ".ruby-gemset"
131
132
  - ".ruby-version"
132
133
  - CHANGELOG.md