GemRailsApp: Simplificar el acceso a nuestra App

El usuario final debería encontrar fácil instalar y crear instancias de nuestra aplicación, configurarlas y ejecutarlas.

También podríamos ofrecer capacidades de upgrade/downgrade entre versiones (gracias a migration) o ejecutar versiones específicas gracias a ser nuestra aplicación una gema.

Una línea de comandos centralizada para nuestra aplicación cumpliría con este proceso de simplificación.

Se incluye un script con la siguiente funcionalidad: TODO:

Configuración y ejecución

En nuestro script, ubicado en bin/, agregaremos todos los pasos para configurar y ejecutar nuestra aplicación.

Ejemplos:

Para crear una nueva instancia de nuestra aplicación, usamos:

myrailsapp create --type=adapter --instance=instance_path

Esto creará la estructura necesaria para nuestra instancia y copiará dentro de db/ el archivo SQL necesario para crear la estructura inicial de nuestra aplicación y la configuración inicial de database.yml.

El adaptador por defecto es sqlite.

Nuestra aplicación deberá proveer los archivos db-adapter_name.sql, uno por cada modelo con el cuál nuestra aplicación está diseñada para trabajar.

Luego de la creación de la instancia, se deberá hacer la importación del .sql a la base de datos.

Ejecutar el servidor

También en nuestro script básico se provee la ejecución en modo servidor (mediante webrick) de nuestra aplicación.

Esta parte solo difiere de script/server en que permitimos especificar INSTANCE como un parámetro adicional a las otras opciones (por defecto toma el directorio desde el cual llamamos a este script).


myrailsapp server --webrick_params=value ... --instance=

Por defecto ejecutamos nuestra aplicación en modo production.

A continuación: creando nuestro gem