CatalogModeConfigProvider   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
dl 0
loc 27
c 0
b 0
f 0
wmc 2
lcom 1
cbo 0
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
A isCatalogMode() 0 4 1
1
<?php
2
declare(strict_types=1);
3
4
/**
5
 * File: CatalogModeConfigProvider.php
6
 *
7
 * @author      Maciej Sławik <[email protected]>
8
 * Github:      https://github.com/maciejslawik
9
 */
10
11
namespace MSlwk\CatalogMode\Model;
12
13
use Magento\Framework\App\Config\ScopeConfigInterface;
14
use Magento\Store\Model\ScopeInterface;
15
use MSlwk\CatalogMode\Api\CatalogModeConfigProviderInterface;
16
17
/**
18
 * Class CatalogModeConfigProvider
19
 * @package MSlwk\CatalogMode\Model
20
 */
21
class CatalogModeConfigProvider implements CatalogModeConfigProviderInterface
22
{
23
    const XML_PATH_CATALOG_MODE_ENABLED = 'catalog_mode/general/is_enabled';
24
25
    /**
26
     * @var ScopeConfigInterface
27
     */
28
    private $scopeConfig;
29
30
    /**
31
     * CatalogModeConfigProvider constructor.
32
     * @param ScopeConfigInterface $scopeConfig
33
     */
34
    public function __construct(
35
        ScopeConfigInterface $scopeConfig
36
    ) {
37
        $this->scopeConfig = $scopeConfig;
38
    }
39
40
    /**
41
     * @return bool
42
     */
43
    public function isCatalogMode(): bool
44
    {
45
        return (bool)$this->scopeConfig->getValue(self::XML_PATH_CATALOG_MODE_ENABLED, ScopeInterface::SCOPE_STORES);
46
    }
47
}
48