8. 2. HTTP Verbs
O que são os
verbos HTTP?
Diferentes ações
para a mesma URL
9. 2. HTTP Verbs
O que eles
fazem?
GET, POST, PUT,
DELETE
10. 3. Rack/Middleware
O que é Rack?
Uma interface entre
webservers e
frameworks
11. 3. Rack/Middleware
Devo me
importar?
Sim, você precisa saber
como tudo funciona!
12. 3. Rack/Middleware
E agora você
pode tudo!
Desenvolver suas apps
ruby sem framework!
13. 4. Sinatra
O que é
Sinatra?
DSL, rodando sobre
Rack
14. 4. Sinatra
Quem usa?
Github
Apple
BBC
Heroku
Linkedin
15. 4. Sinatra
Perfeito para
API’s
Porém não é só isso
16. 4. Sinatra
Mas não é um
framework
Sem ORM, sem arquivos
de configuração
17. 4. Sinatra
Implementa
MVC?
Nem MVC, nem nenhum
tipo de pattern
18. 4. Sinatra
E como eu
instalo?
gem install sinatra
19. 4. Sinatra
Esforço
mínimo
require 'sinatra'
get '/' do
"Hello, world!"
end
20. 4. Sinatra
Routing
get '/' do show something end
post '/' do create something end
put '/' do replace something end
patch '/' do modify something end
delete '/' do annihilate something end
options '/' do appease something end
21. 4. Sinatra
DRY
['/one', '/two', '/three'].each do |route|
get route do
"Triggered #{route} via GET"
end
end
22. 4. Sinatra
Rotas com
query strings
get '/:name' do
# URL in the form /some_name?foo=XYZ
"#{params[:name]} - #{params[:foo]}"
end
23. 4. Sinatra
Rotas com
wildcards
get '/*' do
"You passed in #{params[:splat]}"
# http://localhost:4567/foo/bar/baz/bop
# params[:splat] = ["foo/bar/baz/bop"].
end