/**
  * @param array $eventStream
  */
 public static function initialise(array $eventStream)
 {
     $entity = new self();
     foreach ($eventStream as $event) {
         $entity->applyEvent($event);
     }
     $entity->commit();
     return $entity;
 }
Example #2
0
 /**
  * @param string $username
  *
  * @return User
  */
 public static function createWithUsername($username)
 {
     $user = new self();
     $user->applyEvent(new UserCreatedWithUsername($username));
     return $user;
 }
Example #3
0
 /**
  * @param UUID $roomId
  * @param $name
  * @param $seatCapacity
  * @return Room
  */
 public static function create(UUID $roomId, $name, $seatCapacity)
 {
     $room = new self(array());
     $room->applyEvent(new RoomCreated($roomId, $name, $seatCapacity));
     return $room;
 }