Passed
Push — master ( 1d7877...f5fd25 )
by Davis
37s
created

DeletePost::run()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 10
Code Lines 6

Duplication

Lines 10
Ratio 100 %

Code Coverage

Tests 5
CRAP Score 2

Importance

Changes 0
Metric Value
dl 10
loc 10
ccs 5
cts 5
cp 1
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 6
nc 2
nop 0
crap 2
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: davis
5
 * Date: 7/23/17
6
 * Time: 3:06 AM
7
 */
8
9
namespace DavisPeixoto\BlogCore\Service;
10
11
12
use DavisPeixoto\BlogCore\Interfaces\ServiceInterface;
13
use DavisPeixoto\BlogCore\Repository\AbstractPostRepository;
14
use DavisPeixoto\BlogCore\Entity\Post;
15
use Exception;
16
use Psr\Log\LoggerInterface;
17
18
19
/**
20
 * Class DeletePost
21
 * @package DavisPeixoto\BlogCore\Service
22
 */
23 View Code Duplication
class DeletePost implements ServiceInterface
24
{
25
    /**
26
     * @var AbstractPostRepository
27
     */
28
    private $postRepository;
29
30
    /**
31
     * @var Post
32
     */
33
    private $post;
34
35
    /**
36
     * @var LoggerInterface
37
     */
38
    private $logger;
39
40
    /**
41
     * DeletePost constructor.
42
     * @param AbstractPostRepository $postRepository
43
     * @param Post $post
44
     * @param LoggerInterface $logger
45
     */
46 3
    public function __construct(AbstractPostRepository $postRepository, Post $post, LoggerInterface $logger)
47
    {
48 3
        $this->postRepository = $postRepository;
49 3
        $this->post = $post;
50 3
        $this->logger = $logger;
51 3
    }
52
53
    /**
54
     * @return boolean
55
     */
56 3
    public function run(): bool
57
    {
58
        try {
59 3
            return $this->postRepository->delete($this->post);
60 1
        } catch (Exception $e) {
61 1
            $this->logger->error($e->getMessage());
62
        }
63
64 1
        return false;
65
    }
66
}
67