GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

Hit::getVersion()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 3
nc 2
nop 0
1
<?php
2
3
namespace Nimble\ElasticBundle;
4
5
class Hit
6
{
7
    const SOURCE_DATA_KEY = '_source';
8
    const INDEX_DATA_KEY = '_index';
9
    const TYPE_DATA_KEY = '_type';
10
    const SCORE_DATA_KEY = '_score';
11
    const ID_DATA_KEY = '_id';
12
    const EXPLANATION_DATA_KEY = '_explanation';
13
    const VERSION_DATA_KEY = '_version';
14
    const SORT_DATA_KEY = 'sort';
15
16
    const FIELDS_DATA_KEY = 'fields';
17
18
19
    /**
20
     * @var string
21
     */
22
    protected $hitDataKey = self::SOURCE_DATA_KEY;
23
24
    /**
25
     * @var array
26
     */
27
    protected $data;
28
29
    /**
30
     * @param array $hit
31
     */
32
    public function __construct(array $hit)
33
    {
34
        $this->data = $hit;
35
36
        if (
37
            isset($this->data[self::FIELDS_DATA_KEY]) &&
38
            !isset($this->data[self::SOURCE_DATA_KEY])
39
        ) {
40
            $this->hitDataKey = self::FIELDS_DATA_KEY;
41
        }
42
    }
43
44
    /**
45
     * @return string|null
46
     */
47
    public function getIndexName()
48
    {
49
        return isset($this->data[self::INDEX_DATA_KEY]) ?
50
            $this->data[self::INDEX_DATA_KEY] : null;
51
    }
52
53
    /**
54
     * @return string|null
55
     */
56
    public function getTypeName()
57
    {
58
        return isset($this->data[self::TYPE_DATA_KEY]) ?
59
            $this->data[self::TYPE_DATA_KEY] : null;
60
    }
61
62
    /**
63
     * @return int|null
64
     */
65
    public function getScore()
66
    {
67
        return isset($this->data[self::SCORE_DATA_KEY]) ?
68
            $this->data[self::SCORE_DATA_KEY] : null;
69
    }
70
71
72
    /**
73
     * @return array|null
74
     */
75
    public function getExplanation()
76
    {
77
        return isset($this->data[self::EXPLANATION_DATA_KEY]) ?
78
            $this->data[self::EXPLANATION_DATA_KEY] : null;
79
    }
80
81
    /**
82
     * @return int|string|null
83
     */
84
    public function getId()
85
    {
86
        return isset($this->data[self::ID_DATA_KEY]) ?
87
            $this->data[self::ID_DATA_KEY] : null;
88
    }
89
90
    /**
91
     * @return int|string|null
92
     */
93
    public function getVersion()
94
    {
95
        return isset($this->data[self::VERSION_DATA_KEY]) ?
96
            $this->data[self::VERSION_DATA_KEY] : null;
97
    }
98
99
    /**
100
     * Returns array of all hit metadata.
101
     *
102
     * @return array|null
103
     */
104
    public function getMetadata()
105
    {
106
        return array_intersect_key($this->data, array_flip([
107
            self::ID_DATA_KEY,
108
            self::SCORE_DATA_KEY,
109
            self::TYPE_DATA_KEY,
110
            self::INDEX_DATA_KEY,
111
            self::EXPLANATION_DATA_KEY,
112
            self::VERSION_DATA_KEY,
113
            self::SORT_DATA_KEY,
114
        ]));
115
    }
116
117
    /**
118
     * @return array|null
119
     */
120
    public function getFields()
121
    {
122
        return isset($this->data[self::FIELDS_DATA_KEY]) ?
123
            $this->data[self::FIELDS_DATA_KEY] : null;
124
    }
125
126
127
    /**
128
     * Returns the _source data.
129
     *
130
     * @return array|null
131
     */
132
    public function getSource()
133
    {
134
        return isset($this->data[self::SOURCE_DATA_KEY]) ?
135
            $this->data[self::SOURCE_DATA_KEY] : null;
136
    }
137
138
    /**
139
     * @return array
140
     */
141
    public function getRawData()
142
    {
143
        return $this->data;
144
    }
145
146
    /**
147
     * Returns value used for sorting or array of all if index is null.
148
     *
149
     * Returns null if not available.
150
     *
151
     * @param int|null $index
152
     * @return mixed|null
153
     */
154
    public function getSortValue($index = null)
155
    {
156
        if (!array_key_exists(self::SORT_DATA_KEY, $this->data)) {
157
            return null;
158
        }
159
160
        if (null === $index) {
161
            return $this->data[self::SORT_DATA_KEY];
162
        }
163
164
        if (isset($this->data[self::SORT_DATA_KEY][$index])) {
165
            return $this->data[self::SORT_DATA_KEY][$index];
166
        }
167
168
        return null;
169
    }
170
171
    /**
172
     * Returns a source data piece.
173
     *
174
     * @param string $name
175
     * @return mixed
176
     */
177
    public function __get($name)
178
    {
179
        if (!array_key_exists($name, $this->data[$this->hitDataKey])) {
180
            return null;
181
        }
182
183
        return $this->data[$this->hitDataKey][$name];
184
    }
185
    
186
    /**
187
     * @param string $name
188
     * @return bool
189
     */
190
    public function __isset($name)
191
    {
192
        return array_key_exists($name, $this->data[$this->hitDataKey]);
193
    }
194
}
195