Passed
Push — main ( bce8dd...f4f8ca )
by Sílvio
56s
created

OptionBuilder   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 4
dl 0
loc 31
rs 10
c 1
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A forFile() 0 3 1
A forRedis() 0 3 1
A forDatabase() 0 3 1
1
<?php
2
3
namespace Silviooosilva\CacheerPhp\Config\Option\Builder;
4
5
use Silviooosilva\CacheerPhp\CacheStore\CacheManager\OptionBuilders\FileOptionBuilder;
6
use Silviooosilva\CacheerPhp\CacheStore\CacheManager\OptionBuilders\RedisOptionBuilder;
7
use Silviooosilva\CacheerPhp\CacheStore\CacheManager\OptionBuilders\DatabaseOptionBuilder;
8
9
/**
10
 * Class OptionBuilder
11
 * @author Sílvio Silva <https://github.com/silviooosilva>
12
 * @package Silviooosilva\CacheerPhp
13
 */
14
class OptionBuilder
15
{
16
  
17
  /**
18
  * Creates a FileOptionBuilder instance for file-based cache options.
19
  *
20
  * @return FileOptionBuilder
21
  */
22
  public static function forFile(): FileOptionBuilder
23
  {
24
    return new FileOptionBuilder();
25
  }
26
27
  /**
28
  * Creates a RedisOptionBuilder instance for Redis cache options.
29
  *
30
  * @return RedisOptionBuilder
31
  */
32
  public static function forRedis(): RedisOptionBuilder
33
  {
34
    return new RedisOptionBuilder();
35
  }
36
37
  /**
38
  * Creates a DatabaseOptionBuilder instance for database cache options.
39
  *
40
  * @return DatabaseOptionBuilder
41
  */
42
  public static function forDatabase(): DatabaseOptionBuilder
43
  {
44
    return new DatabaseOptionBuilder();
45
  }
46
}
47