safe_memoize 0.4.0 → 0.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: eb68ddebb035ad2262b063ca010d757692802d7c4ab42a8c99beffabbcc01eb2
4
- data.tar.gz: 7d154bb103d0659956959ab7e6943e6959f01738d8491e5bbe2a911ef07e43e6
3
+ metadata.gz: 64bc56c4cd1fc255353c579f2e740b88516bafc0bfbd9365f605b1ef8af36b6f
4
+ data.tar.gz: b37f9d850b6d599fda50ef47f4a3e03b21484040a9efabaabba63d9891d0be6f
5
5
  SHA512:
6
- metadata.gz: ca92fa2b915bd9a2b921143c1ce3ee1044509456688a57fc225319ee99ab4cd01c2d5ae9036f810d2a9df518127c55c114e72987fb604458ec051967b30bd367
7
- data.tar.gz: d5e6296c817536ef739b05cbc9b550c8e429450d8558bf65307188cfc2f778246f9d7318ffd39e7525278fa584b069a6143c3f6b1ed349ab4bc7d34e5ba67507
6
+ metadata.gz: aab068ebb5b277b6b74f79ea2226c81efe3eb620a3b54630339238c3fd536797261af12e84ed446ccd325cf5902180f3c9bd2b00c2ba591a589c829d6223ea30
7
+ data.tar.gz: c75b60edcc7a189d0e062eb470b64874de56a916ac8369ceb1a7992bc23e7ec1a2303550f620da0be35fc75ad2d28419faba0ddc0c089a5875203004af73272e
@@ -18,7 +18,6 @@ jobs:
18
18
  fail-fast: false
19
19
  matrix:
20
20
  ruby:
21
- - "3.2"
22
21
  - "3.3"
23
22
  - "3.4"
24
23
  - "4.0"
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.5.0] - 2026-05-17
4
+
5
+ - Drop support for Ruby 3.2 (EOL); minimum required version is now Ruby 3.3
6
+
3
7
  ## [0.4.0] - 2026-05-17
4
8
 
5
9
  - Add `warm_memo`, `dump_memo`, and `load_memo` for cache warm-up and persistence
@@ -26,7 +30,7 @@
26
30
  - `if: ->(result) { ... }` — only caches when the lambda returns truthy
27
31
  - `unless: ->(result) { ... }` — skips caching when the lambda returns truthy
28
32
  - Uncached calls recompute on every invocation until the condition is met
29
- - Compatible with `ttl:`, `max_size:`, hooks, and all inspection APIs
33
+ - Compatible with `ttl:`, `max_size:`, hooks, and all inspection APIs
30
34
  - Add LRU cache size limit via `max_size:` option on `memoize`
31
35
  - Evicts the least-recently-used entry per method when the limit is reached
32
36
  - Cache hits promote entries to most-recently-used, preventing premature eviction
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SafeMemoize
4
- VERSION = "0.4.0"
4
+ VERSION = "0.5.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: safe_memoize
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chuck Smith
8
8
  bindir: exe
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
- dependencies: []
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: simplecov
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '0.22'
19
+ type: :development
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '0.22'
12
26
  description: 'SafeMemoize is a production-ready, zero-dependency memoization library
13
27
  for Ruby. It uses Ruby''s prepend mechanism to wrap methods with a thread-safe cache
14
28
  (Mutex + double-check locking) that correctly handles nil and false return values
@@ -62,7 +76,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
62
76
  requirements:
63
77
  - - ">="
64
78
  - !ruby/object:Gem::Version
65
- version: 3.2.0
79
+ version: 3.3.0
66
80
  required_rubygems_version: !ruby/object:Gem::Requirement
67
81
  requirements:
68
82
  - - ">="