Mis primeros pasos con
Diego Torres
@diegotc86
Revisaremos
- Que es Sinatra
- Uso básico
Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort
Domain Specific Language
El dominio de Sinatra: Web Applications
POST
GET
PATH
RENDER
REDIRECT
¿Qué es?
# myapp.rb
require 'sinatra'
get '/' do
'Hello world!'
end
¿Cómo se usa?
gem install sinatra
ruby myapp.rb
View at: http://localhost:4567
De la documentación: http://sinatrarb.com/
Instalar la gem 'sinatra'
Crear un archivo de ruby, requerir la gema y llamar al método 'get' con un 'path' y un bloque que devuelva un string.
Ejecutar el archivo y visitar la url
# myapp.rb
require 'sinatra'
get '/' do
'Hello world!'
end
¿Cómo se usa?
El método 'get' recibe un parámetro 'path'
'/' :
coincide con localhost:4567/
'/comments/:name':
coincide con localhost:4567/comments/diego
params = {name: "diego"}
'/comments':
coincide con localhost:4567/?name=diego&talk=sinatra
params = {name: "diego", talk: "sinatra"}
# myapp.rb
require 'sinatra'
get '/' do
'Hello world!'
end
¿Cómo se usa?
Sinatra proporciona métodos para todos los "verbos" de una petición http
get '/' do
.. listar o mostrar algo ..
end
post '/' do
.. crear algo ..
end
put '/' do
.. reemplazar algo ..
end
patch '/' do
.. actualizar algo ..
end
delete '/' do
.. eliminar algo ..
end
# myapp.rb
require 'sinatra'
get '/' do
'Hello world!'
end
¿Cómo se usa?
El valor retornado por el cuerpo del bloque sera el body de la respuesta al browser que hizo la petición
Por lo general es un string, también puede ser una llamada al método redirect
get '/redirect_me' do
redirect "/"
end
# myapp.rb
require 'sinatra'
get '/hello' do
erb "<h1>Hello <%= name %></h1>", { :locals => { :name => "Ruby Peru" } }
end
¿Cómo se usa?
Sinatra soporta ERB templates por defecto con el método erb
El segundo parámetro de la respuesta es un hash de opciones:
locals: define un objeto con variable accesibles a la vista
layout: define el layout a utilizar, por defecto busca en /views/layout.erb
Palabras Finales
Q&A
Sinatra - First Steps
By Diego Torres
Sinatra - First Steps
- 723