Example #1
0
 /**
  * @param  TwitterSerializable $object
  * @return \stdClass
  */
 public function serialize(TwitterSerializable $object)
 {
     /* @var Tweet $object */
     Assertion::true($this->canSerialize($object), 'object must be an instance of Tweet');
     Assertion::eq(new \DateTimeZone('UTC'), $object->getDate()->getTimezone());
     $tweet = new \stdClass();
     $tweet->id = (string) $object->getId();
     $tweet->user = $this->userSerializer->serialize($object->getSender());
     $tweet->text = $object->getText();
     $tweet->lang = $object->getLang();
     $tweet->created_at = $object->getDate()->format(TwitterDate::FORMAT);
     $tweet->entities = $this->twitterEntitiesSerializer->serialize($object->getEntities());
     $tweet->coordinates = $object->getCoordinates() ? $this->coordinatesSerializer->serialize($object->getCoordinates()) : null;
     $tweet->place = $object->getPlace() ? $this->placeSerializer->serialize($object->getPlace()) : null;
     $tweet->in_reply_to_status_id = $object->getInReplyToStatusId();
     $tweet->in_reply_to_user_id = $object->getInReplyToUserId();
     $tweet->in_reply_to_screen_name = $object->getInReplyToScreenName();
     $tweet->retweeted = $object->isRetweeted();
     $tweet->retweet_count = $object->getRetweetCount();
     $tweet->favorited = $object->isFavorited();
     $tweet->favorite_count = $object->getFavoriteCount();
     $tweet->truncated = $object->isTruncated();
     $tweet->source = $object->getSource();
     if ($object->getRetweetedStatus()) {
         $tweet->retweeted_status = $this->serialize($object->getRetweetedStatus());
     }
     return $tweet;
 }
 /**
  * @param  TwitterSerializable $object
  * @return \stdClass
  */
 public function serialize(TwitterSerializable $object)
 {
     /* @var TwitterDirectMessage $object */
     Assertion::true($this->canSerialize($object), 'object must be an instance of TwitterDirectMessage');
     Assertion::eq(new \DateTimeZone('UTC'), $object->getDate()->getTimezone());
     $dm = new \stdClass();
     $dm->id = (string) $object->getId();
     $dm->sender = $this->userSerializer->serialize($object->getSender());
     $dm->recipient = $this->userSerializer->serialize($object->getRecipient());
     $dm->text = $object->getText();
     $dm->created_at = $object->getDate()->format(TwitterDate::FORMAT);
     $dm->entities = $object->getEntities() ? $this->twitterEntitiesSerializer->serialize($object->getEntities()) : null;
     $dmObject = new \stdClass();
     $dmObject->direct_message = $dm;
     return $dmObject;
 }
 /**
  * @test
  */
 public function itShouldSerializeWithLegalObject()
 {
     $this->itWillSerializeHashtag();
     $this->itWillSerializeSymbol();
     $this->itWillSerializeUrl();
     $this->itWillSerializeUserMention();
     $this->itWillSerializeMedia();
     $this->itWillSerializeExtendedEntity();
     $serialized = $this->serviceUnderTest->serialize($this->twitterEntities);
     $this->assertEquals([$this->serializedHashtag], $serialized->hashtags);
     $this->assertEquals([$this->serializedSymbol], $serialized->symbols);
     $this->assertEquals([$this->serializedUrl], $serialized->urls);
     $this->assertEquals([$this->serializedUserMention], $serialized->user_mentions);
     $this->assertEquals([$this->serializedMedium], $serialized->media);
     $this->assertEquals([$this->serializedExtendedEntity], $serialized->extended_entities);
 }