Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Sinatra::Ftw
Search
Luciano Sousa
September 18, 2010
Programming
0
81
Sinatra::Ftw
An introduction about Sinatra Framework
Luciano Sousa
September 18, 2010
Tweet
Share
More Decks by Luciano Sousa
See All by Luciano Sousa
Playing with Sorbet
lucianosousa
0
40
Knowing mina deploy
lucianosousa
1
54
Creating your startup without Developer
lucianosousa
0
150
Patterns Falacy v2
lucianosousa
0
110
Project Management like Software Developer
lucianosousa
1
96
The Patterns Falacy - Rails Version
lucianosousa
1
91
Other Decks in Programming
See All in Programming
VS Code をプロダクトにどう取り込むか
onomax
1
770
CDKコントリビュートの最初の壁を越えよう! -簡単issueの見つけ方-
badmintoncryer
3
270
Node.js v22 で変わること
yosuke_furukawa
PRO
12
4k
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
560
ServerAction で Progressive Enhancement はどこまで頑張れるか? / progressive-enhancement-with-server-action
takefumiyoshii
6
460
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
170
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
530
Sheets API使ってみた
toshi0383
2
170
禅の心を手に入れよ
eltociear
1
420
Documentation for users with AsciiDoc and Antora
ahus1
0
370
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
140
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
690
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Build your cross-platform service in a week with App Engine
jlugia
226
17k
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Producing Creativity
orderedlist
PRO
338
39k
Ruby is Unlike a Banana
tanoku
96
10k
Scaling GitHub
holman
457
140k
Facilitating Awesome Meetings
lara
43
5.6k
Being A Developer After 40
akosma
67
580k
Product Roadmaps are Hard
iamctodd
45
9.8k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Transcript
http://twitter.com/lucianosousa 1 Sinatra::Ftw Luciano Sousa
[email protected]
http://lucianosousa.net http://twitter.com/lucianosousa http://github.com/lucianosousa
http://twitter.com/lucianosousa 2 Sinatra::WTF? ✔ Micro Framework web ✔ DSL ✔
Rotas ✔ Múltiplos Templates ✔ Filtros ✔ Exemplos
http://twitter.com/lucianosousa 3 Sinatra::Description Micro Framework para desenvolvimento de aplicações web
com o mínimo de esforço.
http://twitter.com/lucianosousa 4 Sinatra::DSL get '/hi' do “hello world!” end Domain
Specific Language
http://twitter.com/lucianosousa 5 Sinatra::Routes get '/' do “get in index” end
post '/' do “post in index” end put '/' do “put in index” end delete '/' do “delete in index” end get '/:name' do “Hello #{params[:name]}!” end
http://twitter.com/lucianosousa 6 Sinatra::Templates get '/' do “hello world!” end get
'/' do erb :index end get '/' do haml :index end get '/' do erubis :index end
http://twitter.com/lucianosousa 7 Sinatra::Layout get '/' do erb :index end Carrega
arquivo arquivo layout.template dentro da pasta views automagicamente
http://twitter.com/lucianosousa 8
http://twitter.com/lucianosousa 9
http://twitter.com/lucianosousa 10
http://twitter.com/lucianosousa 11
http://twitter.com/lucianosousa 12 Sinatra::Helpers helpers do def sum(value) "Result: #{value.to_i+100}" end
end get '/:value' do sum(params[:value]) end Obs: O parâmetro :value é passado como string para o helper.
http://twitter.com/lucianosousa 13
http://twitter.com/lucianosousa 14 Sinatra::Filters after do puts "Response status is: #{response.status}"
end
http://twitter.com/lucianosousa 15
http://twitter.com/lucianosousa 16 Sinatra::Example