Passed
Push — master ( f5fd25...253018 )
by Davis
35s
created

ListTrails   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 44
Duplicated Lines 100 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 2
dl 44
loc 44
ccs 10
cts 10
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 6 6 1
A run() 10 10 2

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: davis
5
 * Date: 7/23/17
6
 * Time: 3:12 AM
7
 */
8
9
namespace DavisPeixoto\BlogCore\Service;
10
11
12
use DavisPeixoto\BlogCore\Interfaces\ServiceInterface;
13
use DavisPeixoto\BlogCore\Repository\AbstractTrailRepository;
14
use Psr\Log\LoggerInterface;
15
use Exception;
16
use stdClass;
17
18
/**
19
 * Class ListTrails
20
 * @package DavisPeixoto\BlogCore\Service
21
 */
22 View Code Duplication
class ListTrails implements ServiceInterface
23
{
24
    /**
25
     * @var AbstractTrailRepository
26
     */
27
    private $trailRepository;
28
29
    /**
30
     * @var array
31
     */
32
    private $filters;
33
34
    /**
35
     * @var LoggerInterface
36
     */
37
    private $logger;
38
39
    /**
40
     * ListTrails constructor.
41
     * @param AbstractTrailRepository $trailRepository
42
     * @param array $filters
43
     * @param LoggerInterface $logger
44
     */
45 2
    public function __construct(AbstractTrailRepository $trailRepository, Array $filters, LoggerInterface $logger)
46
    {
47 2
        $this->trailRepository = $trailRepository;
48 2
        $this->filters = $filters;
49 2
        $this->logger = $logger;
50 2
    }
51
52
    /**
53
     * @return array|stdClass[]
54
     */
55 2
    public function run(): array
56
    {
57
        try {
58 2
            return $this->trailRepository->getList($this->filters);
59 1
        } catch (Exception $e) {
60 1
            $this->logger->error($e->getMessage());
61
        }
62
63 1
        return [];
64
    }
65
}
66