Ejemplo n.º 1
0
 /**
  * Extiende las clases de componentes de toba o de las componentes extendidas del
  * proyecto.
  *
  * @param toba_modelo_proyecto $proyecto
  * @param string $path
  * @param string $tipo valores posibles: 'toba' | 'proyecto'
  */
 static function extender_componentes(toba_modelo_proyecto $proyecto, $path, $tipo = 'toba')
 {
     $id_proyecto = $proyecto->get_id();
     if (is_dir($path)) {
         toba_manejador_archivos::eliminar_directorio($path);
     }
     toba_manejador_archivos::crear_arbol_directorios($path);
     $componentes = self::get_componentes_toba($proyecto);
     if ($tipo == 'toba') {
         $prefijo = '';
         $clase_a_extender = 'toba_%comp%';
     } else {
         $prefijo = 'pers_';
         $clase_a_extender = $id_proyecto . '_%comp%';
     }
     foreach ($componentes as $componente) {
         $nombre_clase = $id_proyecto . '_' . $prefijo . $componente;
         $clase = new toba_codigo_clase($nombre_clase, str_replace('%comp%', $componente, $clase_a_extender));
         $clase->guardar($path . '/' . $nombre_clase . '.php');
     }
 }
Ejemplo n.º 2
0
 /**
  * Crea un caso de test de personalización a partir de la salida de compara_foto_schema
  */
 function opcion__crear_caso_test()
 {
     $nombre = $this->consola->dialogo_ingresar_texto('Ingrese el nombre del caso de test');
     $archivo_fuente = self::get_path_comparacion();
     $array = $this->salida_como_array($archivo_fuente);
     $clase = new toba_codigo_clase("{$nombre}", "toba_pers_caso_test");
     $prop = new toba_codigo_propiedad_php('$sql', 'protected', '', $array);
     $metodo = new toba_codigo_metodo_php('get_descripcion', array(), array('Descripción del caso de test'));
     $metodo->set_contenido("return '';");
     $clase->agregar($prop);
     $clase->agregar($metodo);
     $path = toba_dir() . "/proyectos/toba_testing/personalizacion/tests/{$nombre}.php";
     $clase->guardar($path);
     $this->consola->mensaje("El caso de test se guardó en {$path}");
 }