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
84
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
42
Knowing mina deploy
lucianosousa
1
57
Creating your startup without Developer
lucianosousa
0
150
Patterns Falacy v2
lucianosousa
0
110
Project Management like Software Developer
lucianosousa
1
100
The Patterns Falacy - Rails Version
lucianosousa
1
94
Other Decks in Programming
See All in Programming
はじめてみよう量子プログラミング
itokoichi01
0
220
Perl 5 OOP機構30年史 - Perl 5's OOP Mechanism over the past 30 years
moznion
0
390
Modernisation Progressive d’Applications PHP
hhamon
0
110
Pythonで改めて考える「クラス(class)」の使いどころ
os1ma
4
980
なぜアジャイルがうまくいかないのか?
yum3
1
100
Ebitengineの1vs1ゲーム WebRTCの活用
ponyo877
0
380
いつか使える ObjectSpace / Maybe useful ObjectSpace
euglena1215
2
140
エンジニア1年目で複雑なコードの改善に取り組んだ話
mtnmr
3
2k
実践!難読化ガイド
mitchan
0
240
Google Sign-inの移行から始めるCredential Manager活用
clockvoid
0
410
マルチモジュールにおけるテスト最適化
fxwx23
0
210
o1モデルのプロンプトエンジニアリングって?
ktc_wada
0
290
Featured
See All Featured
Optimizing for Happiness
mojombo
375
69k
Scaling GitHub
holman
458
140k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
26
3.9k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
263
13k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
3k
Making the Leap to Tech Lead
cromwellryan
128
8.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
Building an army of robots
kneath
302
42k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
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