Code Duplication    Length = 22-22 lines in 3 locations

ProviderFactory/GeoPluginFactory.php 1 location

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

ProviderFactory/HostIpFactory.php 1 location

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

ProviderFactory/IpInfoFactory.php 1 location

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