/** * create. * * @param array $data * * @return Tweet $post */ public function create(array $data) { $tweet = new Tweet(); $media = new Media(); $media->setUrl($data['user']['profile_image_url']); $author = new Author(); $author->setProfilePicture($media); $author->setIdentifier($data['user']['id']); $author->setName($data['user']['name']); $author->setLink('https://twitter.com/' . $data['user']['screen_name']); $author->setUsername($data['user']['screen_name']); $tweet->setIdentifier($data['id'])->setMessage($data['text'])->setCreatedAt(new \DateTime($data['created_at']))->setAuthor($author); $this->addTweetReferences($tweet, $data); $this->addTweetMedias($tweet, $data); return $tweet; }