69. Rotas RESTFul
ActionController::Routing::Routes.draw do |map|
map.resources :products
map.resources :addresses
map.resources :orders, :has_many => [:line_items]
map.namespace :admin do |admin|
admin.resources :users
admin.resources :products
end
end
Tuesday, September 8, 2009
70. Rotas RESTFul
ActionController::Routing::Routes.draw do |map|
map.resources :products
map.resources :addresses
map.resources :orders, :has_many => [:line_items]
map.namespace :admin do |admin|
admin.resources :users
admin.resources :products
end
end
Tuesday, September 8, 2009
71. Rotas RESTFul
ActionController::Routing::Routes.draw do |map|
map.resources :products
map.resources :addresses
map.resources :orders, :has_many => [:line_items]
map.namespace :admin do |admin|
admin.resources :users
admin.resources :products
end
end
Tuesday, September 8, 2009
72. Rotas RESTFul
ActionController::Routing::Routes.draw do |map|
map.resources :products
map.resources :addresses
map.resources :orders, :has_many => [:line_items]
map.namespace :admin do |admin|
admin.resources :users
admin.resources :products
end
end
Tuesday, September 8, 2009
73. Rotas RESTFul
GET /products/new
ActionController::Routing::Routes.draw do |map|
GET /products
POST /products
map.resources :products
map.resources :addresses
map.resourcesGET /products/1 => [:line_items]
:orders, :has_many
map.namespaceGET /products/1/edit
:admin do |admin|
PUT /products/1
admin.resources :users
admin.resources :products
end DESTROY /products/1
end
Tuesday, September 8, 2009
74. Controller
class UsersController < Spree::BaseController
resource_controller
before_filter :initialize_extension_partials
actions :all, :except => [:index, :destroy]
show.before do
@orders = Order.checkout_completed(true)
.find_all_by_user_id(current_user.id)
end
create.after { self.current_user = @user }
create.response do |wants|
wants.html { redirect_back_or_default(products_path) }
end
end
Tuesday, September 8, 2009
75. Controller
class UsersController < Spree::BaseController
resource_controller
before_filter :initialize_extension_partials
actions :all, :except => [:index, :destroy]
show.before do
@orders = Order.checkout_completed(true)
.find_all_by_user_id(current_user.id)
end
create.after { self.current_user = @user }
create.response do |wants|
wants.html { redirect_back_or_default(products_path) }
end
end
Tuesday, September 8, 2009
76. Controller
class UsersController < Spree::BaseController
resource_controller
before_filter :initialize_extension_partials
actions :all, :except => [:index, :destroy]
show.before do
@orders = Order.checkout_completed(true)
.find_all_by_user_id(current_user.id)
end
create.after { self.current_user = @user }
create.response do |wants|
wants.html { redirect_back_or_default(products_path) }
end
end
Tuesday, September 8, 2009
86. “Eles servem mais de 23 milhões de visitantes/mês. A conversão resultou em
20 mil linhas de Ruby em vez de 125 mil linhas de Java e, mais importante,
facilitou a dificuldade que tinham em manutenção. Eles também
finalizaram a reescrita do sistema em apenas 3 meses com 4 desenvolvedores.
Uma vez completo e otimizado, o site deles agora é mais rápido que antes.”
http://www.railsonwave.com/railsonwave/2008/6/4/yellowpages-com-migrates-to-rails
Tuesday, September 8, 2009
87. “Eles servem mais de 23 milhões de visitantes/mês. A conversão resultou em
20 mil linhas de Ruby em vez de 125 mil linhas de Java e, mais importante,
facilitou a dificuldade que tinham em manutenção. Eles também
finalizaram a reescrita do sistema em apenas 3 meses com 4 desenvolvedores.
Uma vez completo e otimizado, o site deles agora é mais rápido que antes.”
http://www.railsonwave.com/railsonwave/2008/6/4/yellowpages-com-migrates-to-rails
Tuesday, September 8, 2009
88. “Eles servem mais de 23 milhões de visitantes/mês. A conversão resultou em
20 mil linhas de Ruby em vez de 125 mil linhas de Java e, mais importante,
facilitou a dificuldade que tinham em manutenção. Eles também
finalizaram a reescrita do sistema em apenas 3 meses com 4 desenvolvedores.
Uma vez completo e otimizado, o site deles agora é mais rápido que antes.”
http://www.railsonwave.com/railsonwave/2008/6/4/yellowpages-com-migrates-to-rails
Tuesday, September 8, 2009
89. “Eles servem mais de 23 milhões de visitantes/mês. A conversão resultou em
20 mil linhas de Ruby em vez de 125 mil linhas de Java e, mais importante,
facilitou a dificuldade que tinham em manutenção. Eles também
finalizaram a reescrita do sistema em apenas 3 meses com 4 desenvolvedores.
Uma vez completo e otimizado, o site deles agora é mais rápido que antes.”
http://www.railsonwave.com/railsonwave/2008/6/4/yellowpages-com-migrates-to-rails
Tuesday, September 8, 2009
117. Blaine Cook
http://www.akitaonrails.com/2008/6/17/chatting-with-blaine-cook-twitter
Tuesday, September 8, 2009
118. Para colocar as coisas em
perspectiva, o Friendster foi
escrito em Java e eles
mudaram para PHP. MySpace
foi escrito em ColdFusion e
eles mudaram para ASP.NET.
Blaine Cook
http://www.akitaonrails.com/2008/6/17/chatting-with-blaine-cook-twitter
Tuesday, September 8, 2009
119. Para colocar as coisas em
perspectiva, o Friendster foi
escrito em Java e eles
mudaram para PHP. MySpace
foi escrito em ColdFusion e
eles mudaram para ASP.NET.
Quando as pessoas caem em
problemas de escalabilidade,
normalmente acham que a
linguagem é o problema, mas
eu acho que isso raramente
é a realidade. Blaine Cook
http://www.akitaonrails.com/2008/6/17/chatting-with-blaine-cook-twitter
Tuesday, September 8, 2009
120. “O The New York Times usou Ruby on Rails para
agregar, analizar e mostrar os resultados das
eleições em quase tempo real em um de seus
sites mais acessados de todos os tempos.”
http://www.computerworld.com.au/article/268003/ruby_rails_rolls_into_enterprise?fp=16&fpid=1
Tuesday, September 8, 2009
121. “O The New York Times usou Ruby on Rails para
agregar, analizar e mostrar os resultados das
eleições em quase tempo real em um de seus
sites mais acessados de todos os tempos.”
http://www.computerworld.com.au/article/268003/ruby_rails_rolls_into_enterprise?fp=16&fpid=1
Tuesday, September 8, 2009
142. describe BankAccount do
before :each do
@bank_account = BankAccount.new :balance => 250
end
it "should not be valid" do
@bank_account.should be_valid
end
it "should transfer funds successfully" do
@bank_account.should_receive(:transfer)
.with_args(:amount => 100)
.and_return(true)
@bank_account.execute_transaction(:amount => 100)
@bank_account.balance.should == 150
end
end
Tuesday, September 8, 2009
143. describe BankAccount do
before :each do
@bank_account = BankAccount.new :balance => 250
end
it "should not be valid" do
@bank_account.should be_valid
end
it "should transfer funds successfully" do
@bank_account.should_receive(:transfer)
.with_args(:amount => 100)
.and_return(true)
@bank_account.execute_transaction(:amount => 100)
@bank_account.balance.should == 150
end
end
Tuesday, September 8, 2009
144. describe BankAccount do
before :each do
@bank_account = BankAccount.new :balance => 250
end
it "should not be valid" do
@bank_account.should be_valid
end
it "should transfer funds successfully" do
@bank_account.should_receive(:transfer)
.with_args(:amount => 100)
.and_return(true)
@bank_account.execute_transaction(:amount => 100)
@bank_account.balance.should == 150
end
end
Tuesday, September 8, 2009
145. describe BankAccount do
before :each do
@bank_account = BankAccount.new :balance => 250
end
it "should not be valid" do
@bank_account.should be_valid
end
it "should transfer funds successfully" do
@bank_account.should_receive(:transfer)
.with_args(:amount => 100)
.and_return(true)
@bank_account.execute_transaction(:amount => 100)
@bank_account.balance.should == 150
end
end
Tuesday, September 8, 2009
147. Funcionalidade: Adição
Para evitar erros bobos
Como um péssimo matemático
Eu quero saber como somar dois números
Cenário: Adicionar dois números
Dado que eu digitei 50 na calculadora
E que eu digitei 70 na calculadora
Quando eu aperto o botão de soma
Então o resultado na calculadora deve ser 120
Tuesday, September 8, 2009
148. Funcionalidade: Adição
Para evitar erros bobos
Como um péssimo matemático
Eu quero saber como somar dois números
Cenário: Adicionar dois números
Dado que eu digitei 50 na calculadora
E que eu digitei 70 na calculadora
Quando eu aperto o botão de soma
Então o resultado na calculadora deve ser 120
Tuesday, September 8, 2009