- 1

Curso Intermedio de Ruby on Rails: Migración y Optimización Avanzada
01:37 - 2

Migración de Rails a MongoDB con Mongoid y Pruebas Automatizadas
03:38 - 3

Gestión de Múltiples Versiones de MongoDB en Linux
13:21 - 4

Migración de Rails a MongoDB con Mongoid: Configuración Inicial
10:17 - 5

Migración de Modelos de Active Record a Mongoid
08:35 - 6

Migración completa de aplicaciones con MongoDB y Rails
15:55
Uso de CoffeeScript con Rails y Webpacker: Integración y Ejemplos
Clase 18 de 34 • Curso Intermedio de Ruby on Rails
Contenido del curso
- 7

Pruebas Automatizadas: Introducción a TDD y BDD en Desarrollo de Software
10:11 - 8
Creación de Fábricas Automatizadas con FactoryBot y Faker en Rails
04:18 - 9

Integración de Librerías para Pruebas Automatizadas en Rails
13:24 - 10

Pruebas de Modelos en Rails con Mongoid y RSpec
13:41 - 11

Pruebas de Validación y Guardado en Modelos Rails
11:39 - 12

Validación y Pruebas de Modelos en Ruby on Rails
07:48 - 13

Pruebas de Integración en Rails: Configuración y Ejecución Básica
10:54 - 14

Creación y prueba de tareas con métodos POST en Rails
12:39 - 15

Automatización de Pruebas con Headless Browser y Capybara en Rails
05:03 - 16

Pruebas de Sistema con KPIBara y WebDriver en Rails
13:35 - 17

Automatización de Pruebas de Sistema con Selenium y JavaScript
15:24
- 22

Envío de Emails Automático al Crear Tareas
04:43 - 23

Introducción a Service Objects en Ruby on Rails
09:00 - 24

Pruebas de TDD para Service Object de Notificaciones por Correo
12:18 - 25

Creación de Service Objects para Envío de Correos en Ruby on Rails
13:04 - 26

Procesos en Background con Sucker Punch en Rails
12:51 - 27

Pruebas con Doubles en Rails usando Sucker Punch
12:10
- 28

Máquinas de Estado Finito: Conceptos y Aplicaciones Prácticas
07:32 - 29

Creación de Máquinas de Estados con AASM en Ruby on Rails
13:37 - 30

Creación de Service Object para Gestión de Estados de Tareas en Rails
08:37 - 31

Acciones de Controlador y Pruebas en Ruby on Rails
10:43 - 32

Integración de AJAX en Gestión de Estados de Tareas en Ruby on Rails
13:07
¿Qué es CoffeeScript y por qué es relevante?
CoffeeScript es un lenguaje que actúa como un metalenguaje o dialecto de JavaScript, introducido en momentos en que JavaScript no estaba tan maduro. Este lenguaje facilitó la codificación de JavaScript, incorporando ciertos elementos del paradigma orientado a objetos. Aunque hoy está en debate, es relevante ya que muchos proyectos de Rails siguen usándolo. Además, explorar metalenguajes como CoffeeScript puede optimizar tu proceso de codificación.
¿Cómo asociar CoffeeScript con Rails usando Webpacker?
Para integrar CoffeeScript en un proyecto de Rails, utilizamos el comando:
rails webpacker:install:coffee
Esto genera archivos y estructuras de directorios, asociando esta tecnología con el proyecto sin mayores modificaciones. Además, este generador crea un ejemplo llamado Hello Coffee que se puede eliminar por no ser útil, usando rm seguido del directorio del archivo. Una vez hecho esto, se debe editar el archivo application.js, ubicado en la carpeta app/javascript/packs, para definir la importación y consolidación de librerías JavaScript. Aquí se puede extender este archivo utilizando un sistema de consolidación, nombrado main.coffee.
¿Cómo estructurar scripts organizadamente con CoffeeScript?
La clave para organizar scripts de manera efectiva es usar namespaces. Primero, crea un archivo de consolidación, por ejemplo, main.coffee. Dentro de este, utiliza window para prefijar una variable global, como platzi, y dentro de este objeto, define un método init para inicializar elementos JavaScript:
window.platzi =
init: ->
console.log 'Mudrid.log by Platzi'
El uso de TurboLink Load es recomendable para ejecutar lógica después de que una página complete su carga:
document.addEventListener 'turbolinks:load', ->
platzi.init()
Esto asegura que init se llame cada vez que el documento se cargue.
¿Cómo declaramos funciones específicas para cada vista?
Para crear funciones específicas por página, extiende el objeto global, detallando caminos específicos para vistas, así:
window.platzi =
tasks:
index:
setup: ->
console.log 'Index page'
Entonces, en la página vista de tasks, utiliza un filtro de Hamill para invocar la función:
:javascript
platzi.tasks.index.setup()
Al navegar a la página index de tareas, verás el mensaje en la consola solo en esa vista, mostrando la modularización según la vista. Esta estrategia mantiene el código ordenado y enfocado, mejorando la mantenibilidad del proyecto.
Explorar más allá es clave: entender cómo CoffeeScript puede integrarse o cómo migrar tu código si eliges otra solución también es parte del aprendizaje en esta dinámica área del desarrollo.