/** * Saves the provided object if necessary * * @param $object * @return Morph_Object */ public function save(Morph_Object $object) { $response = $object; $object->__setStorage($this); //ensure that the storage object is set if ($object->state() == Morph_Object::STATE_DIRTY) { $response = $this->update($object); } elseif ($object->state() == Morph_Object::STATE_NEW) { $response = $this->insert($object); } return $response; }