67. 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, December 15, 2009
68. 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, December 15, 2009
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, December 15, 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, December 15, 2009
71. Rotas RESTFul
GET /products/new
ActionController::Routing::Routes.draw do |map|
GET /products
map.resourcesPOST /products
:products
map.resources :addresses
map.resourcesGET /products/1 => [:line_items]
:orders, :has_many
map.namespaceGET /products/1/edit
:admin do |admin|
admin.resources :users
PUT /products/1
admin.resources :products
end DESTROY /products/1
end
Tuesday, December 15, 2009
72. 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, December 15, 2009
73. 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, December 15, 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, December 15, 2009
84. “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, December 15, 2009
85. “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, December 15, 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, December 15, 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, December 15, 2009
126. Blaine Cook
http://www.akitaonrails.com/2008/6/17/chatting-with-blaine-cook-twitter
Tuesday, December 15, 2009
127. 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, December 15, 2009
128. 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, December 15, 2009
129. “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, December 15, 2009
130. “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, December 15, 2009
150. 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, December 15, 2009
151. 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, December 15, 2009
152. 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, December 15, 2009
153. 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, December 15, 2009
155. 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, December 15, 2009
156. 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, December 15, 2009