Completed
Push — master ( c37c21...918f5a )
by Thomas Mauro
05:25
created

Client::getOptions()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 0
crap 1
1
<?php
2
3
namespace Facile\SentryModule\Service;
4
5
use Facile\SentryModule\Listener\ErrorHandlerListener;
6
use Raven_Client;
7
use Raven_ErrorHandler;
8
use Facile\SentryModule\Options\ClientOptions;
9
use Zend\EventManager\ListenerAggregateInterface;
10
11
/**
12
 * Class Client.
13
 */
14
class Client
15
{
16
    /**
17
     * @var Raven_Client
18
     */
19
    protected $raven;
20
    /**
21
     * @var Raven_ErrorHandler
22
     */
23
    protected $errorHandler;
24
    /**
25
     * @var ListenerAggregateInterface
26
     */
27
    protected $errorHandlerListener;
28
    /**
29
     * @var ClientOptions
30
     */
31
    protected $options;
32
33
    /**
34
     * Client constructor.
35
     *
36
     * @param Raven_Client       $raven
37
     * @param ClientOptions      $options
38
     * @param Raven_ErrorHandler $errorHandler
39
     */
40 4
    public function __construct(Raven_Client $raven, ClientOptions $options, Raven_ErrorHandler $errorHandler = null)
41
    {
42 4
        $this->raven = $raven;
43 4
        $this->options = $options;
44 4
        $this->errorHandler = $errorHandler;
45 4
    }
46
47
    /**
48
     * Get the Raven client.
49
     * 
50
     * @return Raven_Client
51
     */
52 4
    public function getRaven()
53
    {
54 4
        return $this->raven;
55
    }
56
57
    /**
58
     * Get the Raven error handler.
59
     * 
60
     * @return Raven_ErrorHandler
61
     */
62 3
    public function getErrorHandler()
63
    {
64 3
        if (!$this->errorHandler) {
65 2
            $this->errorHandler = new Raven_ErrorHandler($this->getRaven());
66 2
        }
67
68 3
        return $this->errorHandler;
69
    }
70
71
    /**
72
     * @param Raven_ErrorHandler $errorHandler
73
     * @return $this
74
     */
75
    public function setErrorHandler(Raven_ErrorHandler $errorHandler)
76
    {
77
        $this->errorHandler = $errorHandler;
78
        return $this;
79
    }
80
81
    /**
82
     * Get the client options.
83
     * 
84
     * @return ClientOptions
85
     */
86 3
    public function getOptions()
87
    {
88 3
        return $this->options;
89
    }
90
91
    /**
92
     * Get the error handler listener.
93
     * 
94
     * @return ListenerAggregateInterface
95
     */
96 3
    public function getErrorHandlerListener()
97
    {
98 3
        if (!$this->errorHandlerListener) {
99 1
            $this->errorHandlerListener = new ErrorHandlerListener($this);
100 1
        }
101
102 3
        return $this->errorHandlerListener;
103
    }
104
105
    /**
106
     * Set the error handler listener.
107
     * 
108
     * @param ListenerAggregateInterface $errorHandlerListener
109
     *
110
     * @return $this
111
     */
112 3
    public function setErrorHandlerListener(ListenerAggregateInterface $errorHandlerListener)
113
    {
114 3
        $this->errorHandlerListener = $errorHandlerListener;
115
116 3
        return $this;
117
    }
118
}
119