public function __invoke(CoreRequest $request) { $photo = Photo::generateNew($request->quote, $request->upload_mime_type, $request->user_id); $this->photo_saver->__invoke($photo); $this->event_emitter->emit(new NewPhotoUploaded($photo, $request->upload_temporaty_location)); return $photo; }
public function marshallResource(Photo $photo) { return ['_id' => $photo->id()->value(), 'quote' => $photo->quote()->value(), 'upload' => ['filename' => $photo->upload()->filename(), 'mime_type' => $photo->upload()->mimeType()], 'image_details' => ['hex_color' => $photo->imageDetails()->hexColor(), 'width' => $photo->imageDetails()->width(), 'height' => $photo->imageDetails()->height()], 'creation_date' => $photo->createdAt(), 'user' => $photo->createdBy()->value()]; }
private function thenTheRepositoryShouldBeUsed() { $this->repository->shouldReceive('__invoke')->andReturn(Photo::generateNew('quote', 'image/png', new Email('email'))); }
private function andAPhoto() { $this->photo = Photo::generateNew('quote', 'image/png', new Email('email')); }
private function updateImageLocation(Photo $photo) { $photo->isStoredIn(Upload::BOOOTHY); $this->saver_repository->__invoke($photo); }