Skip to content

Commit d41405c

Browse files
Merge pull request #76 from TheDragonCode/3.x
Added `Cache::rememberForever` method
2 parents 520d096 + 2ec8662 commit d41405c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+525
-11
lines changed

.github/workflows/phpunit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
uses: actions/checkout@v4
4141

4242
- name: Setup Redis
43-
uses: zhulik/redis-action@1.1.0
43+
uses: shogo82148/actions-setup-redis@v1
4444

4545
- name: Setup PHP
4646
uses: shivammathur/setup-php@v2

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
],
4747
"require": {
4848
"php": "^8.0",
49-
"dragon-code/contracts": "^2.16",
49+
"dragon-code/contracts": "^2.21",
5050
"dragon-code/support": "^6.11.3",
5151
"illuminate/support": ">=6.0 <11.0"
5252
},

src/Concerns/Call.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ trait Call
88
{
99
use Arrayable;
1010

11-
/**
12-
* @param mixed $callback
13-
*/
1411
protected function call(mixed $callback = null): mixed
1512
{
1613
return $this->isCallable($callback) ? $callback() : $callback;

src/Services/Cache.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,11 @@ public function remember(mixed $value): mixed
9797
return $this->manager()->remember($this->getKey(), $value, $this->ttl);
9898
}
9999

100+
public function rememberForever(mixed $value): mixed
101+
{
102+
return $this->manager()->rememberForever($this->getKey(), $value);
103+
}
104+
100105
public function forget(): static
101106
{
102107
$this->manager()->forget($this->getKey());

src/Services/Storages/Disabled.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ public function remember(string $key, $value, int $seconds): mixed
2121
return $this->get($key, $value);
2222
}
2323

24+
public function rememberForever(string $key, $value): mixed
25+
{
26+
return $this->get($key, $value);
27+
}
28+
2429
public function forget(string $key): void {}
2530

2631
public function has(string $key): bool

src/Services/Storages/MainStore.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,13 @@ public function remember(string $key, $value, int $seconds): mixed
3333
return Cache::remember($key, $seconds, $value);
3434
}
3535

36+
public function rememberForever(string $key, $value): mixed
37+
{
38+
$value = $this->makeCallable($value);
39+
40+
return Cache::rememberForever($key, $value);
41+
}
42+
3643
public function forget(string $key): void
3744
{
3845
Cache::forget($key);

src/Services/Storages/TaggedStore.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,13 @@ public function remember(string $key, $value, int $seconds): mixed
4343
return $this->cache()->remember($key, $seconds, $value);
4444
}
4545

46+
public function rememberForever(string $key, $value): mixed
47+
{
48+
$value = $this->makeCallable($value);
49+
50+
return $this->cache()->rememberForever($key, $value);
51+
}
52+
4653
public function forget(string $key): void
4754
{
4855
$this->cache()->forget($key);

src/Support/CacheManager.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@ public function remember(string $key, $value, int $seconds): mixed
4646
return $this->instance()->remember($key, $value, $seconds);
4747
}
4848

49+
public function rememberForever(string $key, $value): mixed
50+
{
51+
return $this->instance()->rememberForever($key, $value);
52+
}
53+
4954
public function forget(string $key): void
5055
{
5156
$this->instance()->forget($key);

tests/Cache/NotWhen/Arrayables/Many/Arr/DragonCodeTest.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,15 @@ public function testRemember()
4545
$this->assertNull($this->cache()->get());
4646
}
4747

48+
public function testRememberForever()
49+
{
50+
$item = new DragonCodeArrayable();
51+
52+
$this->assertSame($item, $this->cache()->rememberForever($item));
53+
54+
$this->assertNull($this->cache()->get());
55+
}
56+
4857
public function testForget()
4958
{
5059
$this->assertNull($this->cache()->get());

tests/Cache/NotWhen/Arrayables/Many/Arr/IlluminateTest.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,15 @@ public function testRemember()
4545
$this->assertNull($this->cache()->get());
4646
}
4747

48+
public function testRememberForever()
49+
{
50+
$item = new IlluminateArrayable();
51+
52+
$this->assertSame($item, $this->cache()->rememberForever($item));
53+
54+
$this->assertNull($this->cache()->get());
55+
}
56+
4857
public function testForget()
4958
{
5059
$this->assertNull($this->cache()->get());

0 commit comments

Comments
 (0)