Code Duplication    Length = 22-22 lines in 3 locations

ProviderFactory/GeoPluginFactory.php 1 location

@@ 20-41 (lines=22) @@
17
use Http\Discovery\HttpClientDiscovery;
18
use Symfony\Component\OptionsResolver\OptionsResolver;
19
20
final class GeoPluginFactory extends AbstractFactory
21
{
22
    protected static $dependencies = [
23
        ['requiredClass' => GeoPlugin::class, 'packageName' => 'geocoder-php/geo-plugin-provider'],
24
    ];
25
26
    protected function getProvider(array $config): Provider
27
    {
28
        $httplug = $config['httplug_client'] ?: $this->httpClient ?? HttpClientDiscovery::find();
29
30
        return new GeoPlugin($httplug);
31
    }
32
33
    protected static function configureOptionResolver(OptionsResolver $resolver)
34
    {
35
        $resolver->setDefaults([
36
            'httplug_client' => null,
37
        ]);
38
39
        $resolver->setAllowedTypes('httplug_client', ['object', 'null']);
40
    }
41
}
42

ProviderFactory/HostIpFactory.php 1 location

@@ 20-41 (lines=22) @@
17
use Http\Discovery\HttpClientDiscovery;
18
use Symfony\Component\OptionsResolver\OptionsResolver;
19
20
final class HostIpFactory extends AbstractFactory
21
{
22
    protected static $dependencies = [
23
        ['requiredClass' => HostIp::class, 'packageName' => 'geocoder-php/host-ip-provider'],
24
    ];
25
26
    protected function getProvider(array $config): Provider
27
    {
28
        $httplug = $config['httplug_client'] ?: $this->httpClient ?? HttpClientDiscovery::find();
29
30
        return new HostIp($httplug);
31
    }
32
33
    protected static function configureOptionResolver(OptionsResolver $resolver)
34
    {
35
        $resolver->setDefaults([
36
            'httplug_client' => null,
37
        ]);
38
39
        $resolver->setAllowedTypes('httplug_client', ['object', 'null']);
40
    }
41
}
42

ProviderFactory/IpInfoFactory.php 1 location

@@ 20-41 (lines=22) @@
17
use Http\Discovery\HttpClientDiscovery;
18
use Symfony\Component\OptionsResolver\OptionsResolver;
19
20
final class IpInfoFactory extends AbstractFactory
21
{
22
    protected static $dependencies = [
23
        ['requiredClass' => IpInfo::class, 'packageName' => 'geocoder-php/ip-info-provider'],
24
    ];
25
26
    protected function getProvider(array $config): Provider
27
    {
28
        $httplug = $config['httplug_client'] ?: $this->httpClient ?? HttpClientDiscovery::find();
29
30
        return new IpInfo($httplug);
31
    }
32
33
    protected static function configureOptionResolver(OptionsResolver $resolver)
34
    {
35
        $resolver->setDefaults([
36
            'httplug_client' => null,
37
        ]);
38
39
        $resolver->setAllowedTypes('httplug_client', ['object', 'null']);
40
    }
41
}
42