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 +4 -4
- data/.github/workflows/ci.yml +0 -1
- data/CHANGELOG.md +5 -1
- data/lib/safe_memoize/version.rb +1 -1
- metadata +17 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 64bc56c4cd1fc255353c579f2e740b88516bafc0bfbd9365f605b1ef8af36b6f
|
|
4
|
+
data.tar.gz: b37f9d850b6d599fda50ef47f4a3e03b21484040a9efabaabba63d9891d0be6f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: aab068ebb5b277b6b74f79ea2226c81efe3eb620a3b54630339238c3fd536797261af12e84ed446ccd325cf5902180f3c9bd2b00c2ba591a589c829d6223ea30
|
|
7
|
+
data.tar.gz: c75b60edcc7a189d0e062eb470b64874de56a916ac8369ceb1a7992bc23e7ec1a2303550f620da0be35fc75ad2d28419faba0ddc0c089a5875203004af73272e
|
data/.github/workflows/ci.yml
CHANGED
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
|
-
|
|
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
|
data/lib/safe_memoize/version.rb
CHANGED
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
|
+
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.
|
|
79
|
+
version: 3.3.0
|
|
66
80
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
67
81
|
requirements:
|
|
68
82
|
- - ">="
|