AvataxClient   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 12
c 1
b 0
f 0
dl 0
loc 22
rs 10
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 17 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Odiseo\SyliusAvataxPlugin\Api;
6
7
use Avalara\AvaTaxClient as BaseAvataxClient;
8
use Odiseo\SyliusAvataxPlugin\Provider\EnabledAvataxConfigurationProviderInterface;
9
10
class AvataxClient extends BaseAvataxClient
11
{
12
    /** @var EnabledAvataxConfigurationProviderInterface */
13
    private $enabledAvataxConfigurationProvider;
14
15
    public function __construct(EnabledAvataxConfigurationProviderInterface $enabledAvataxConfigurationProvider)
16
    {
17
        $this->enabledAvataxConfigurationProvider = $enabledAvataxConfigurationProvider;
18
19
        $avataxConfiguration = $this->enabledAvataxConfigurationProvider->getConfiguration();
20
21
        $appName = (string) $avataxConfiguration->getAppName();
22
        $appVersion = (string) $avataxConfiguration->getAppVersion();
23
        $machineName = (string) $avataxConfiguration->getMachineName();
24
        $environment = $avataxConfiguration->isSandbox() === true ? 'sandbox' : 'production';
25
26
        parent::__construct($appName, $appVersion, $machineName, $environment);
27
28
        $accountId = (int) $avataxConfiguration->getAccountId();
29
        $licenseKey = (string) $avataxConfiguration->getLicenseKey();
30
31
        $this->withLicenseKey($accountId, $licenseKey);
32
    }
33
}