/**
  * Map all scalar values into the payload object
  * @param \afoozle\GithubWebhook\Entity\Payload $payload
  * @param array $parsedData
  * @return \afoozle\GithubWebhook\Entity\Payload
  */
 private function mapScalarValues(Payload $payload, array $parsedData)
 {
     if (array_key_exists('after', $parsedData)) {
         $payload->setAfter(trim($parsedData['after']));
     }
     if (array_key_exists('before', $parsedData)) {
         $payload->setBefore(trim($parsedData['before']));
     }
     if (array_key_exists('compare', $parsedData)) {
         $payload->setCompare(trim($parsedData['compare']));
     }
     if (array_key_exists('created', $parsedData)) {
         $created = $parsedData['created'] == 'true' ? true : false;
         $payload->setCreated($created);
     }
     if (array_key_exists('deleted', $parsedData)) {
         $created = $parsedData['deleted'] == 'true' ? true : false;
         $payload->setDeleted($created);
     }
     if (array_key_exists('forced', $parsedData)) {
         $created = $parsedData['forced'] == 'true' ? true : false;
         $payload->setForced($created);
     }
     if (array_key_exists('pusher', $parsedData)) {
         $personMapper = new PersonMapper();
         $pusher = $personMapper->mapFromDataArray($parsedData['pusher']);
         $payload->setPusher($pusher);
     }
     if (array_key_exists('ref', $parsedData)) {
         $payload->setRef($parsedData['ref']);
     }
     return $payload;
 }
 /**
  * @param array $dataArray
  * @return Commit
  */
 public function mapFromDataArray(array $dataArray)
 {
     $commit = new Commit();
     if (array_key_exists('added', $dataArray)) {
         $commit->setAdded((array) $dataArray['added']);
     }
     if (array_key_exists('id', $dataArray)) {
         $commit->setId(trim($dataArray['id']));
     }
     if (array_key_exists('distinct', $dataArray)) {
         $commit->setIsDistinct((bool) $dataArray['distinct']);
     }
     if (array_key_exists('message', $dataArray)) {
         $commit->setMessage(trim($dataArray['message']));
     }
     if (array_key_exists('removed', $dataArray)) {
         $commit->setRemoved((array) $dataArray['removed']);
     }
     if (array_key_exists('timestamp', $dataArray)) {
         $timestamp = new \DateTime($dataArray['timestamp']);
         $commit->setTimestamp($timestamp);
     }
     if (array_key_exists('url', $dataArray)) {
         $commit->setUrl(trim($dataArray['url']));
     }
     if (array_key_exists('committer', $dataArray)) {
         $personMapper = new PersonMapper();
         $committer = $personMapper->mapFromDataArray($dataArray['committer']);
         $commit->setCommitter($committer);
     }
     if (array_key_exists('author', $dataArray)) {
         $personMapper = new PersonMapper();
         $author = $personMapper->mapFromDataArray($dataArray['author']);
         $commit->setAuthor($author);
     }
     return $commit;
 }
 private function getAndMapEntity()
 {
     $mapper = new PersonMapper();
     $personObject = $mapper->mapFromJson($this->getTestJson());
     return $personObject;
 }
 /**
  * @param array $parsedData
  * @return Repository
  */
 public function mapFromDataArray(array $parsedData)
 {
     $repository = new Repository();
     if (array_key_exists('created_at', $parsedData)) {
         $createdAt = \DateTime::createFromFormat('U', trim($parsedData['created_at']), new \DateTimeZone('UTC'));
         $repository->setCreatedAt($createdAt);
     }
     if (array_key_exists('description', $parsedData)) {
         $repository->setDescription(trim($parsedData['description']));
     }
     if (array_key_exists('fork', $parsedData)) {
         $isFork = $parsedData['fork'] == 'true' ? true : false;
         $repository->setIsFork($isFork);
     }
     if (array_key_exists('has_downloads', $parsedData)) {
         $hasDownloads = $parsedData['has_downloads'] == 'true' ? true : false;
         $repository->setHasDownloads($hasDownloads);
     }
     if (array_key_exists('has_issues', $parsedData)) {
         $hasIssues = $parsedData['has_issues'] == 'true' ? true : false;
         $repository->setHasIssues($hasIssues);
     }
     if (array_key_exists('has_wiki', $parsedData)) {
         $hasWiki = $parsedData['has_wiki'] == 'true' ? true : false;
         $repository->setHasWiki($hasWiki);
     }
     if (array_key_exists('private', $parsedData)) {
         $isPrivate = $parsedData['private'] == 'true' ? true : false;
         $repository->setIsPrivate($isPrivate);
     }
     if (array_key_exists('forks', $parsedData)) {
         $repository->setForks((int) $parsedData['forks']);
     }
     if (array_key_exists('homepage', $parsedData)) {
         $repository->setHomepage(trim($parsedData['homepage']));
     }
     if (array_key_exists('id', $parsedData)) {
         $repository->setId((int) $parsedData['id']);
     }
     if (array_key_exists('language', $parsedData)) {
         $repository->setLanguage(trim($parsedData['language']));
     }
     if (array_key_exists('master_branch', $parsedData)) {
         $repository->setMasterBranch(trim($parsedData['master_branch']));
     }
     if (array_key_exists('name', $parsedData)) {
         $repository->setName(trim($parsedData['name']));
     }
     if (array_key_exists('open_issues', $parsedData)) {
         $repository->setOpenIssues((int) $parsedData['open_issues']);
     }
     if (array_key_exists('size', $parsedData)) {
         $repository->setSize((int) $parsedData['size']);
     }
     if (array_key_exists('stargazers', $parsedData)) {
         $repository->setStargazers((int) $parsedData['stargazers']);
     }
     if (array_key_exists('url', $parsedData)) {
         $repository->setUrl(trim($parsedData['url']));
     }
     if (array_key_exists('watchers', $parsedData)) {
         $repository->setWatchers((int) $parsedData['watchers']);
     }
     if (array_key_exists('owner', $parsedData)) {
         $personMapper = new PersonMapper();
         $owner = $personMapper->mapFromDataArray($parsedData['owner']);
         $repository->setOwner($owner);
     }
     if (array_key_exists('pushed_at', $parsedData)) {
         $pushedAt = \DateTime::createFromFormat('U', trim($parsedData['pushed_at']), new \DateTimeZone('UTC'));
         $repository->setPushedAt($pushedAt);
     }
     return $repository;
 }