/** * @param \Rocker\Object\ObjectInterface $obj * @throws \Rocker\Object\DuplicationException * @throws \Exception */ protected function updateObject(ObjectInterface $obj) { $this->metaFactory->saveMetaData($obj); $newName = trim($obj->changedName()); if ($newName) { try { $this->db->prepare("UPDATE " . $this->tableName . " SET name=? WHERE id=?")->execute(array($newName, $obj->getId())); } catch (\Exception $e) { $this->handlePossibleDuplication($e); } $this->deleteObjectCache($obj); } }
function testMagicMethods() { $obj = new \Rocker\Object\PlainObject('testo', 1); self::$f->applyMetaData($obj); $obj->meta()->key = 'value'; $this->assertEquals('value', $obj->meta()->key); $this->assertTrue($obj->meta()->has('key')); $this->assertEquals(null, $obj->meta()->unknownKey); self::$f->saveMetaData($obj); self::$f->applyMetaData($obj); $obj->meta()->key = 'value'; $this->assertEquals('value', $obj->meta()->key); $obj->meta()->key = null; $this->assertFalse($obj->meta()->has('key')); self::$f->saveMetaData($obj); self::$f->applyMetaData($obj); $this->assertNull($obj->meta()->key); $this->assertFalse($obj->meta()->has('key')); }