Exemple #1
0
 /**
  * Generic "extra normalizer"
  *
  * @param $data
  * @param string $path To be overridden
  *
  * @return array
  */
 protected function extraNormalizer($data, $path = '')
 {
     if (is_array($data)) {
         if (!$path) {
             $path = $this->normalizersMap->getPathContext();
         }
         $path = trim($path, '.');
         $pathsFields = [];
         foreach ($this->normalizersMap->getPathNormalizers() as $normalizer) {
             $pathsFields[] = $normalizer['pathWithoutContext'];
         }
         // Remove all paths fields
         return ArrayUtils::removeKeys(ArrayUtils::getNested($data, $path, []), $pathsFields);
     }
     return [];
 }
Exemple #2
0
 protected function imageLoader()
 {
     return ArrayUtils::getNested($this->service->requestJSON(self::REQUEST_IMAGE), 'data.url');
 }
Exemple #3
0
 protected function profileUrlNormalizer($data)
 {
     $id = ArrayUtils::getNested($data, 'response.0.screen_name');
     return !$id ? null : 'https://vk.com/' . ArrayUtils::getNested($data, 'response.0.screen_name');
 }
Exemple #4
0
 protected function imageUrlNormalizer($data)
 {
     $avatarUrl = ArrayUtils::getNested($data, 'user.avatar_url');
     return !$avatarUrl ?: 'https://api.harvestapp.com/' . $avatarUrl;
 }
Exemple #5
0
 protected function locationNormalizer($data)
 {
     $path = trim($this->normalizersMap->getPathContext(), '.');
     return join(', ', array_filter([ArrayUtils::getNested($data, "{$path}.city", ''), ArrayUtils::getNested($data, "{$path}.region", '')]));
 }