Code Duplication    Length = 56-57 lines in 2 locations

source/Spiral/ODM/Configs/MongoConfig.php 1 location

@@ 12-67 (lines=56) @@
9
use Spiral\Core\InjectableConfig;
10
use Spiral\Core\Traits\Config\AliasTrait;
11
12
class MongoConfig extends InjectableConfig
13
{
14
    use AliasTrait;
15
16
    /**
17
     * Configuration section.
18
     */
19
    const CONFIG = 'mongo';
20
21
    /**
22
     * @var array
23
     */
24
    protected $config = [
25
        'default'   => '',
26
        'aliases'   => [],
27
        'databases' => []
28
    ];
29
30
    /**
31
     * @return string
32
     */
33
    public function defaultDatabase(): string
34
    {
35
        return $this->config['default'];
36
    }
37
38
    /**
39
     * @param string $database
40
     *
41
     * @return bool
42
     */
43
    public function hasDatabase(string $database): bool
44
    {
45
        return isset($this->config['databases'][$database]);
46
    }
47
48
    /**
49
     * Database connection configuration.
50
     *
51
     * @param string $database
52
     *
53
     * @return array
54
     */
55
    public function databaseOptions(string $database): array
56
    {
57
        return $this->config['databases'][$database];
58
    }
59
60
    /**
61
     * @return array
62
     */
63
    public function databaseNames(): array
64
    {
65
        return array_keys($this->config['databases']);
66
    }
67
}

source/Spiral/Storage/Configs/StorageConfig.php 1 location

@@ 16-72 (lines=57) @@
13
/**
14
 * Storage manager configuration.
15
 */
16
class StorageConfig extends InjectableConfig
17
{
18
    use AliasTrait;
19
20
    /**
21
     * Configuration section.
22
     */
23
    const CONFIG = 'storage';
24
25
    /**
26
     * @var array
27
     */
28
    protected $config = [
29
        'servers' => [],
30
        'buckets' => []
31
    ];
32
33
    /**
34
     * @param string $server
35
     *
36
     * @return bool
37
     */
38
    public function hasServer(string $server): bool
39
    {
40
        return isset($this->config['servers'][$server]);
41
    }
42
43
    /**
44
     * @param string $server
45
     *
46
     * @return string
47
     */
48
    public function serverClass(string $server): string
49
    {
50
        return $this->config['servers'][$server]['class'];
51
    }
52
53
    /**
54
     * @param string $server
55
     *
56
     * @return array
57
     */
58
    public function serverOptions(string $server): array
59
    {
60
        return $this->config['servers'][$server];
61
    }
62
63
    /**
64
     * Every available bucket with it's config.
65
     *
66
     * @return array
67
     */
68
    public function getBuckets(): array
69
    {
70
        return $this->config['buckets'];
71
    }
72
}