Completed
Push — master ( 8c4272...ef6d68 )
by Thomas Mauro
11s
created

Configuration::setStackTraceOptions()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 4
ccs 3
cts 3
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 1
crap 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Facile\SentryModule\Options;
6
7
use Zend\Stdlib\AbstractOptions;
8
9
/**
10
 * Class ConfigurationOptions.
11
 */
12
class Configuration extends AbstractOptions implements ConfigurationInterface
13
{
14
    /**
15
     * @var string
16
     */
17
    private $dsn = '';
18
    /**
19
     * @var array
20
     */
21
    private $ravenOptions = [];
22
    /**
23
     * @var string
24
     */
25
    private $ravenJavascriptDsn = '';
26
    /**
27
     * @var string
28
     */
29
    private $ravenJavascriptUri = 'https://cdn.ravenjs.com/3.16.0/raven.min.js';
30
    /**
31
     * @var array
32
     */
33
    private $ravenJavascriptOptions = [];
34
    /**
35
     * @var bool
36
     */
37
    private $injectRavenJavascript = false;
38
    /**
39
     * @var ErrorHandlerOptionsInterface
40
     */
41
    private $errorHandlerOptions;
42
    /**
43
     * @var StackTraceOptionsInterface
44
     */
45
    private $stackTraceOptions;
46
47
    /**
48
     * {@inheritDoc}
49
     */
50 5
    public function __construct($options = null)
51
    {
52 5
        parent::__construct($options);
53
54 5
        $this->errorHandlerOptions = $this->errorHandlerOptions ?: new ErrorHandlerOptions();
55 5
        $this->stackTraceOptions = $this->stackTraceOptions ?: new StackTraceOptions();
56 5
    }
57
58
    /**
59
     * @return ErrorHandlerOptionsInterface
60
     */
61 3
    public function getErrorHandlerOptions(): ErrorHandlerOptionsInterface
62
    {
63 3
        return $this->errorHandlerOptions;
64
    }
65
66
    /**
67
     * @param ErrorHandlerOptionsInterface $errorHandlerOptions
68
     */
69 4
    public function setErrorHandlerOptions(ErrorHandlerOptionsInterface $errorHandlerOptions)
70
    {
71 4
        $this->errorHandlerOptions = $errorHandlerOptions;
72 4
    }
73
74
    /**
75
     * @return StackTraceOptionsInterface
76
     */
77 3
    public function getStackTraceOptions(): StackTraceOptionsInterface
78
    {
79 3
        return $this->stackTraceOptions;
80
    }
81
82
    /**
83
     * @param StackTraceOptionsInterface $stackTraceOptions
84
     */
85 4
    public function setStackTraceOptions(StackTraceOptionsInterface $stackTraceOptions)
86
    {
87 4
        $this->stackTraceOptions = $stackTraceOptions;
88 4
    }
89
90
    /**
91
     * @return string
92
     */
93 1
    public function getDsn(): string
94
    {
95 1
        return $this->dsn;
96
    }
97
98
    /**
99
     * @param string $dsn
100
     */
101 1
    public function setDsn(string $dsn)
102
    {
103 1
        $this->dsn = $dsn;
104 1
    }
105
106
    /**
107
     * @return array
108
     */
109 3
    public function getRavenOptions(): array
110
    {
111 3
        return $this->ravenOptions;
112
    }
113
114
    /**
115
     * @param array $ravenOptions
116
     */
117 4
    public function setRavenOptions(array $ravenOptions)
118
    {
119 4
        $this->ravenOptions = $ravenOptions;
120 4
    }
121
122
    /**
123
     * @return string
124
     */
125 2
    public function getRavenJavascriptDsn(): string
126
    {
127 2
        return $this->ravenJavascriptDsn;
128
    }
129
130
    /**
131
     * @param string $ravenJavascriptDsn
132
     */
133 2
    public function setRavenJavascriptDsn(string $ravenJavascriptDsn)
134
    {
135 2
        $this->ravenJavascriptDsn = $ravenJavascriptDsn;
136 2
    }
137
138
    /**
139
     * @return string
140
     */
141 2
    public function getRavenJavascriptUri(): string
142
    {
143 2
        return $this->ravenJavascriptUri;
144
    }
145
146
    /**
147
     * @param string $ravenJavascriptUri
148
     */
149 2
    public function setRavenJavascriptUri(string $ravenJavascriptUri)
150
    {
151 2
        $this->ravenJavascriptUri = $ravenJavascriptUri;
152 2
    }
153
154
    /**
155
     * @return array
156
     */
157 1
    public function getRavenJavascriptOptions(): array
158
    {
159 1
        return $this->ravenJavascriptOptions;
160
    }
161
162
    /**
163
     * @param array $ravenJavascriptOptions
164
     */
165 1
    public function setRavenJavascriptOptions(array $ravenJavascriptOptions)
166
    {
167 1
        $this->ravenJavascriptOptions = $ravenJavascriptOptions;
168 1
    }
169
170
    /**
171
     * @return bool
172
     */
173 2
    public function shouldInjectRavenJavascript(): bool
174
    {
175 2
        return $this->injectRavenJavascript;
176
    }
177
178
    /**
179
     * @param bool $injectRavenJavascript
180
     */
181 2
    public function setInjectRavenJavascript(bool $injectRavenJavascript)
182
    {
183 2
        $this->injectRavenJavascript = $injectRavenJavascript;
184 2
    }
185
}
186