| Total Complexity | 4 | 
| Total Lines | 62 | 
| Duplicated Lines | 0 % | 
| Coverage | 96.88% | 
| Changes | 1 | ||
| Bugs | 0 | Features | 0 | 
| 1 | <?php  | 
            ||
| 24 | class AppsExtractor  | 
            ||
| 25 | { | 
            ||
| 26 | /**  | 
            ||
| 27 | * @param array $data  | 
            ||
| 28 | * @param string $locale  | 
            ||
| 29 | * @param string $country  | 
            ||
| 30 | *  | 
            ||
| 31 | * @return App  | 
            ||
| 32 | */  | 
            ||
| 33 | 31 | public static function extractApp(array $data, string $locale, string $country): App  | 
            |
| 34 |     { | 
            ||
| 35 | 31 | $name = $data[2];  | 
            |
| 36 | 31 | $appId = $data[12][0];  | 
            |
| 37 | 31 | $icon = new GoogleImage($data[1][1][0][3][2]);  | 
            |
| 38 | 31 | $developer = self::extractDeveloper($data);  | 
            |
| 39 | 31 | $price = $data[7][0][3][2][1][0][2] ?? null;  | 
            |
| 40 | 31 | $summary = self::extractSummary($data);  | 
            |
| 41 | 31 | $score = $data[6][0][2][1][1] ?? 0.0;  | 
            |
| 42 | |||
| 43 | 31 | return App::newBuilder()  | 
            |
| 44 | 31 | ->setId($appId)  | 
            |
| 45 | 31 | ->setLocale($locale)  | 
            |
| 46 | 31 | ->setCountry($country)  | 
            |
| 47 | 31 | ->setName($name)  | 
            |
| 48 | 31 | ->setSummary($summary)  | 
            |
| 49 | 31 | ->setDeveloper($developer)  | 
            |
| 50 | 31 | ->setIcon($icon)  | 
            |
| 51 | 31 | ->setScore($score)  | 
            |
| 52 | 31 | ->setPriceText($price)  | 
            |
| 53 | 31 | ->build()  | 
            |
| 54 | ;  | 
            ||
| 55 | }  | 
            ||
| 56 | |||
| 57 | /**  | 
            ||
| 58 | * @param array $data  | 
            ||
| 59 | *  | 
            ||
| 60 | * @return Developer  | 
            ||
| 61 | */  | 
            ||
| 62 | 31 | private static function extractDeveloper(array $data): Developer  | 
            |
| 73 | );  | 
            ||
| 74 | }  | 
            ||
| 75 | |||
| 76 | /**  | 
            ||
| 77 | * @param $scriptDataInfo  | 
            ||
| 78 | *  | 
            ||
| 79 | * @return string|null  | 
            ||
| 80 | */  | 
            ||
| 81 | 31 | private static function extractSummary(array $scriptDataInfo): ?string  | 
            |
| 86 | }  | 
            ||
| 87 | }  | 
            ||
| 88 |