Ejemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 protected function setUp()
 {
     $author = 'admin';
     $versionable = $this->getVersionableMock();
     $resourceName = get_class($versionable);
     $resourceId = $versionable->getId();
     $numVersion = 2;
     $this->version = new Version($resourceName, $resourceId, $author, 'foo');
     $this->version->setVersion($numVersion)->setSnapshot(['field' => 'value'])->setChangeset(['field' => 'value']);
 }
 /**
  * Build a pending version
  *
  * @param Version      $pending
  * @param Version|null $previousVersion
  *
  * @return Version
  */
 public function buildPendingVersion(Version $pending, Version $previousVersion = null)
 {
     $versionNumber = $previousVersion ? $previousVersion->getVersion() + 1 : 1;
     $oldSnapshot = $previousVersion ? $previousVersion->getSnapshot() : [];
     $modification = $pending->getChangeset();
     $snapshot = $modification + $oldSnapshot;
     $changeset = $this->buildChangeset($oldSnapshot, $snapshot);
     $pending->setVersion($versionNumber)->setSnapshot($snapshot)->setChangeset($changeset);
     return $pending;
 }
 /**
  * {@inheritDoc}
  */
 public function setVersion($version)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'setVersion', array($version));
     return parent::setVersion($version);
 }