-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathAirQuality.php
More file actions
39 lines (32 loc) · 859 Bytes
/
AirQuality.php
File metadata and controls
39 lines (32 loc) · 859 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
namespace ProgrammatorDev\OpenWeatherMap\Entity\AirPollution;
class AirQuality
{
private int $index;
private string $qualitativeName;
public function __construct(array $data)
{
$this->index = $data['aqi'];
$this->qualitativeName = $this->findQualitativeName($this->index);
}
public function getIndex(): int
{
return $this->index;
}
public function getQualitativeName(): string
{
return $this->qualitativeName;
}
private function findQualitativeName(int $index): string
{
// levels based on https://openweathermap.org/api/air-pollution
return match ($index) {
1 => 'Good',
2 => 'Fair',
3 => 'Moderate',
4 => 'Poor',
5 => 'Very Poor',
default => 'Undefined'
};
}
}