AI prompts
base on Familiarizarse con los comandos básicos de git y con la consola de rails # LAB1
## Objetivos
Familiarizarse con los comandos básicos de git y con la consola de rails.
## Notas
- Los comandos deben ejecutarse en la consola del sistema.
- Para salir de la consola de Rails se debe ejecutar `quit`.
- La base de datos tiene monstruos y tweets.
## Pasos previos
### Crear cuentas
1. Crear una cuenta en github si no tienen una [https://github.com/signup](https://github.com/signup)
1. Crear una cuenta en [Gitpod](https://gitpod.io/login/). Al validar el teléfono usar +54 9 ...
1. Actualizar la integración de Github en Gitpod [https://gitpod.io/integrations](https://gitpod.io/integrations) para incluir los permisos: `public_repo`, `repo`
### Preparar repositorio
1. Forkear el repositorio del laboratorio (por ejemplo: [https://github.com/I110IS/lab1/fork](https://github.com/I110IS/lab1/fork))
1. Abrir el repositorio forkeado del laboratorio en Gitpod (por ejemplo: [https://gitpod.io/github.com/ruso420/lab1](https://gitpod.io/github.com/ruso420/lab1))
1. Esperar que termine la configuración del entorno
Las últimas lineas de la configuración del entorno se verán así:
```
Bundle complete! 14 Gemfile dependencies, 64 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
== Preparing database ==
Created database 'lab1_development'
Done.
== Removing old logs and tempfiles ==
== Restarting application server ==
```
### Corriendo local
Deben correr `bin/setup` si en lugar de Gitpod usan sus máquinas locales.
# Parte 1 - Git
Recomendación: Ver el estado de git después de cada paso.
1. Crear una nueva rama llamada "agregar-hirb"
1. Agregar una nueva línea con `gem "hirb"` al final del archivo _Gemfile_
1. Instalar la nueva gema
1. Agregar todos los archivos modificados para ser considerados en el siguiente commit
1. Crear el commit y asignarle un mensaje coherente con los cambios agregados
1. Pushear los cambios de la rama local a una rama en el repositorio remoto
1. Mergear en master/main, los cambios de la nueva rama
1. Pushear los cambios de la rama master/main al repositorio remoto
1. Verificar que la historia de la rama principal contiene el commit realizado previamente
# Parte 2 - La consola de rails
1. Abrir la consola de Rails
1. Habilitar la gema Hirb con `Hirb.enable`
1. Obtener el monstruo con ID 1
1. Crear 3 monstruos
1. Obtener el último monstruo sin usar el ID
1. Obtener los monstruos ordenados por nombre
1. Actualizar al monstruo llamado Nahuelito para que se llame Voldemort
1. Eliminar el monstruo con ID 2
1. Obtener los últimos 5 tweets de Drácula ordenados por fecha de creación en orden descendente
", Assign "at most 3 tags" to the expected json: {"id":"884","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"