Your SlideShare is downloading. ×
  • Like
Ruby 101 session 5
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Ruby 101 session 5

  • 169 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
169
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. I N T R O D U C C I O N A S I N A T R A Ruby 101 Sergio Castillo Yrizales @scyrizales
  • 2. Agenda  Sinatra  Repaso
  • 3. Sinatra
  • 4. ¿Qué es Sinatra?  Es un DSL para desarrollar aplicaciones web  Permite crear aplicaciones web con Ruby mediante el esfuerzo mínimo
  • 5. Verbos HTTP  Existen varios verbos en http para obtener recursos web.  En sinatra podemos usar:
  • 6. Trabajando con vistas  Se pueden enviar vistas éstaticas con sinatra  Creamos un folder “views”  Servimos los archivos mediante el metodo erb
  • 7. Que es erb?  Es un lenguaje para escribir templates en ruby  Combina el html con tags para variables ruby
  • 8. Sentencias útiles de erb  Llamando variables  Recorriendo bucles  Comments
  • 9. Estructura a una aplicación Sinatra  Usaremos sinatra/base  Luego definimos una clase que herede de base:  Ingresamos las rutas dentro de esta clase y ejecutamos
  • 10. Recibiendo parametros de un form  Para recibir parametros de un form usamos:
  • 11. Accesando a objeto request  Se puede llamar desde cualquier ruta  Propiedades más usadas
  • 12. Repaso
  • 13. Algunos métodos útiles  reverse  Invertir una cadena  upcase  Mayúsculas  downcase  Minúsculas  gsub  Reemplazar una cadena por otra  include?  Busca una cadena en otra # para comentarios =begin comentarios de varias lineas =end
  • 14. ! Y ?  En ruby, las funciones que terminan en ! significan una modificación del objeto original  Es bueno recordar que esto es solo una recomendación del lenguaje para funciones que modifican el objeto original
  • 15. ! Y ?  En ruby, las funciones que terminan en ? devuelven un valor boolean (true or false)  Es bueno recordar que esto es solo una recomendación del lenguaje para escribir funciones que retornen booleanos.
  • 16. If / unless
  • 17. case when else end  Es una estructura de control especial  Te permite estructurar diversos casos de equivalencias  Puede usarse sin variable inicial:
  • 18. Bucles - While  Se repite mientras la condición sea verdadera  Cuidado con los bucles infinitos
  • 19. Bucles - Until  Se repite mientras la condición sea falsa
  • 20. Bucles - For  Cuando sabes cuantas veces vas a ejecutar un bucle  3 puntos para no incluir el numero final  2 puntos para incluirlo
  • 21. Bucles - Loop  Para ejecutar una sintaxis compleja de codigo  Break sirve para terminar  Next para continuar con otro valor
  • 22. .times  Sirve para repetir un bloque cierto numero de veces
  • 23. Iterando sobre arreglos  Se usa el comando .each para recorrer arreglos
  • 24. Creando un Hash  En otros lenguajes los pueden encontrar como diccionarios
  • 25. Iterando sobre Hashes  Con el comando each y la sintaxis |key, value|
  • 26. Otra forma de escribir Hashes  Antes era asi (sin Symbols)  Ahora es asi (con Symbols)
  • 27. Constructor  Es el método que inicia todo en Ruby  Se llama al usar el .new  Se define mediante initialize
  • 28. Variables  Variables de Instancia: @  Variables de Clase: @@  Variables Globales: $
  • 29. Métodos  Constructor  De instancia  De clase
  • 30. Examen  Realizar un pequeño sistema de marcas (Timesheet para Katia)  Debe generar un objeto por cada día marcado el cual consigne hora de entrada y de salida  Se debe calcular las horas transcurridas por cada día  Debe haber un objeto que englobe a todas las marcas del mes  El sistema debe de marcar automáticamente la hora de entrada y de salida mediante un solo metodo de marca. (Usar condicionales)  Se debe imprimir un consolidado de todas las marcas del mes y el tiempo trabajado en total.  Se tomará en cuenta el uso de clases (6ptos), hashes(4ptos), condicionales(2ptos), bucles(4ptos) y creatividad(4ptos)