Completed
Push — master ( b738e4...21fbcf )
by Davis
01:22
created

GetTrail   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 42
Duplicated Lines 100 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 42
loc 42
rs 10
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A run() 9 9 2
A __construct() 5 5 1

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\TrailRepository;
14
use Psr\Log\LoggerInterface;
15
use Exception;
16
use Ramsey\Uuid\UuidInterface;
17
use stdClass;
18
19
/**
20
 * Class GetTrail
21
 * @package DavisPeixoto\BlogCore\Service
22
 */
23 View Code Duplication
class GetTrail implements ServiceInterface
24
{
25
    /**
26
     * @var TrailRepository
27
     */
28
    private $trailRepository;
29
30
    /**
31
     * @var UuidInterface
32
     */
33
    private $uuid;
34
35
    /**
36
     * @var LoggerInterface
37
     */
38
    private $logger;
39
40
    /**
41
     * GetTrail constructor.
42
     * @param TrailRepository $trailRepository
43
     * @param UuidInterface $uuid
44
     * @param LoggerInterface $logger
45
     */
46
    public function __construct(TrailRepository $trailRepository, UuidInterface $uuid, LoggerInterface $logger)
47
    {
48
        $this->trailRepository = $trailRepository;
49
        $this->uuid = $uuid;
50
        $this->logger = $logger;
51
    }
52
53
    /**
54
     * @return stdClass|boolean
55
     */
56
    public function run()
57
    {
58
        try {
59
            return $this->trailRepository->get($this->uuid);
60
        } catch (Exception $e) {
61
            $this->logger->error($e->getMessage());
62
        }
63
64
        return false;
65
    }
66
}
67