SINATRA + HAML + TWITTER

33
SINATRA + HAML + TWITTER Elber Ribeiro @dynaum BBTI TechTalk #2 17/09/2010

description

Segunda apresentação no bbti techtalk.

Transcript of SINATRA + HAML + TWITTER

Page 1: SINATRA + HAML + TWITTER

SINATRA + HAML + TWITTERElber Ribeiro @dynaum

BBTI TechTalk #217/09/2010

Page 2: SINATRA + HAML + TWITTER

SINATRAMicro Web Framework

Page 3: SINATRA + HAML + TWITTER

SINATRA

•RACK

•REST

•URL

Page 4: SINATRA + HAML + TWITTER

EXEMPLO

require 'rubygems'require 'sinatra'

get '/hi' do "Hello World!"end

Page 5: SINATRA + HAML + TWITTER

EXEMPLO

$ gem install sinatra$ ruby hello.rb

>> Listen on 0.0.0.0:4567

Page 6: SINATRA + HAML + TWITTER

EXEMPLO

require 'rubygems'require 'sinatra'

get '/hi' do "Hello World!"end

Page 7: SINATRA + HAML + TWITTER

EXEMPLO

require 'rubygems'require 'sinatra'

get '/hi' do "Hello World!"end

Page 8: SINATRA + HAML + TWITTER

EXEMPLO

require 'rubygems'require 'sinatra'

get '/hi' do "Hello World!"end

Page 9: SINATRA + HAML + TWITTER

EXEMPLO

require 'rubygems'require 'sinatra'

get '/hi' do erb :indexend

Page 10: SINATRA + HAML + TWITTER

EXEMPLO

require 'rubygems'require 'sinatra'require 'haml'

get '/hi' do haml :indexend

Page 11: SINATRA + HAML + TWITTER

require 'rubygems'require 'sinatra'require 'haml'

post '/posts' do post = Post.create! params redirect “/posts/#{post.id}”end

get '/posts/:id' do @post = Post.find(params[:id]) haml :postend

URL PADRONIZADA

Page 12: SINATRA + HAML + TWITTER

MAIS• Template ( erb, haml, builder )

• Testes ( rspec, test::unit )

• Before filters

• Helpers

• Error handlers

• Inline templates

• HTTP Caching ( etag, last-modified )

• Rack

Page 13: SINATRA + HAML + TWITTER
Page 14: SINATRA + HAML + TWITTER

NICEDOG

Page 15: SINATRA + HAML + TWITTER

NICEDOG

require 'NiceDog.php';

R('/posts')->controller('post')->action('index')->on('GET');

class Post extends C{ public function index(){ echo 'Hello'; }}

run();

Page 16: SINATRA + HAML + TWITTER

NICEDOG + LASA = LASA_API

• Conexão entra apps ruby com o sap (RFC)

• Login AD (apenas teste ainda)

Page 17: SINATRA + HAML + TWITTER
Page 18: SINATRA + HAML + TWITTER

ERB

<div id="profile"> <div class="left column"> <div id="date"><%= print_date %></div> <div id="address"><%= current_user.address %></div> </div> <div class="right column"> <div id="email"><%= current_user.email %></div> <div id="bio"><%= current_user.bio %></div> </div></div>

Page 19: SINATRA + HAML + TWITTER

HAML

#profile .left.column #date= print_date #address= current_user.address .right.column #email= current_user.email #bio= current_user.bio

Page 20: SINATRA + HAML + TWITTER

TUTORIAL

ERB<strong><%= item.title %></strong>

Haml%strong= item.title

Page 21: SINATRA + HAML + TWITTER

TUTORIAL

HTML<strong class="code" id="msg">Hello!</strong>

Haml%strong{:class => "code", :id => "msg"} Hello!

Page 22: SINATRA + HAML + TWITTER

TUTORIAL

Haml.content Hello, World!

HTML<div class='content'>Hello, World!</div>

Page 23: SINATRA + HAML + TWITTER
Page 24: SINATRA + HAML + TWITTER

CSS

table.hl { margin: 2em 0;}table.hl td.ln { text-align: right;}

li { font-family: serif; font-weight: bold; font-size: 1.2em;}

Page 25: SINATRA + HAML + TWITTER

SASS

table.hl margin: 2em 0 td.ln text-align: right

li font: family: serif weight: bold size: 1.2em

Page 26: SINATRA + HAML + TWITTER
Page 27: SINATRA + HAML + TWITTER
Page 28: SINATRA + HAML + TWITTER
Page 29: SINATRA + HAML + TWITTER
Page 30: SINATRA + HAML + TWITTER
Page 31: SINATRA + HAML + TWITTER
Page 32: SINATRA + HAML + TWITTER

EM BREVE

Page 33: SINATRA + HAML + TWITTER

É ISSO!

Elber Ribeirodynaum.com@dynaum