Este documento describe un plan de estudio progresivo para aprender Ruby desde cero hasta llegar a Ruby on Rails.
Cada módulo incluye los temas, ejemplos de práctica y un mini-proyecto sugerido.
- Instalación y entorno (Ruby + Bundler).
- Sintaxis básica: variables, tipos de datos (String, Integer, Float, Boolean).
- Estructuras de control:
if,unless,case,while,until,for. - Colecciones:
ArrayyHash. - Métodos básicos de colecciones (
each,map,select,include?).
- Hacer un programa que gestione una lista de tareas (Array).
- Agregar, listar y eliminar tareas.
- Métodos con parámetros y valores por defecto.
- Keyword arguments (
def metodo(x:, y:)). - Programación orientada a objetos:
classattr_accessorinitialize- Métodos de instancia.
- Implementar una Agenda de contactos con clases
ContactoyAgenda. - Funciones: agregar, mostrar, buscar.
- Herencia (
class Estudiante < Persona). - Polimorfismo (sobrescribir métodos).
- Módulos (
module,include,extend). - Métodos de clase (
def self.metodo). - Manejo de errores (
begin ... rescue ... ensure).
- Sistema escolar con
Persona,Profesor,Alumno. - Módulo
Imprimiblecon métodoto_spara mostrar datos.
- Métodos de
Enumerable:.any?,.all?,.none?,.find,.reduce. - Bloques (
do ... end,{}). - Procs y Lambdas.
- Regex básicos para validación (
/\d+/,/\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i). - Archivos (
File.read,File.write,File.open).
- Extender la Agenda para exportar e importar contactos desde un archivo
.txto.csv.
- Introducción a RSpec (framework de testing).
- Escribir pruebas unitarias para tus clases (
describe,it,expect). - Buenas prácticas en Ruby (nombres en
snake_case, métodos cortos, DRY).
- Escribir tests para la Agenda o el Sistema escolar.
- ¿Qué es Sinatra? (
gem install sinatra). - Crear un servidor web básico (
get '/' do ... end). - Rutas dinámicas (
/hola/:nombre). - Vistas con ERB.
- Formularios básicos (
post).
- Mini-blog con Sinatra: crear y mostrar posts desde un Hash o Array.
- Instalación de Rails (
gem install rails). - Generar un nuevo proyecto (
rails new blog). - Arquitectura MVC en Rails.
- Modelos y ActiveRecord (migraciones, validaciones).
- Controladores y rutas.
- Vistas con ERB.
- CRUD completo en Rails.
- Blog con Rails:
- Modelo
Post(titulo, contenido). - CRUD completo.
- Base de datos SQLite/PostgreSQL.
- Interfaz web con formularios.
- Modelo
Al final de este roadmap serás capaz de:
- Usar Ruby como lenguaje de programación general.
- Diseñar programas orientados a objetos.
- Manejar colecciones y regex para procesar datos.
- Escribir pruebas con RSpec.
- Crear aplicaciones web con Sinatra.
- Desarrollar un proyecto web completo en Ruby on Rails.
📌 Consejo: no corras, dedica una semana a cada bloque (o más si lo necesitas). Lo importante es practicar con pequeños proyectos.