2. Quem Somos?
Rafael Rosa Ricardo Almeida
14 anos na área Atua na área desde 2002. Atualmente trabalha
Ruby Inside Brasil com projetos em Ruby on Rails. Escreve para os
Guru-SP blogs manifestonaweb.wordpress.com e
visaoagil.wordpress.com. Trabalha como editor
técnico do Infoq Brasil. Escreve para a revista
técnica Java Magazine.
3. Quem Somos?
Rafael Rosa Ricardo Almeida
14 anos na área Atua na área desde 2002. Atualmente trabalha
Ruby Inside Brasil com projetos em Ruby on Rails. Escreve para os
Guru-SP blogs manifestonaweb.wordpress.com e
visaoagil.wordpress.com. Trabalha como editor
técnico do Infoq Brasil. Escreve para a revista
técnica Java Magazine.
7. O que é Ruby on Rails?
• Framework web
• Criado em 2004
• David Heinemeier Hanson
• Vulgo: DHH
8. O que é Ruby on Rails?
• Framework web
• Criado em 2004
• David Heinemeier Hanson
• Vulgo: DHH
• Ele tinha 21 anos
9.
10.
11. O que é Ruby on Rails?
• MVC (Model View Controller)
12. O que é Ruby on Rails?
• Convention over configuration
• Pronta para ser usada (full stack)
• Estrutura
• ORM - ActiveRecord
• Javascript - Prototype
21. Rspec
describe Account do
context "transfering money" do
it "deposits transfer amount to the other account" do
source = Account.new(50, :USD)
target = mock('target account')
target.should_receive(:deposit).with(Money.new(5, :USD))
source.transfer(5, :USD).to(target)
end
it "reduces its balance by the transfer amount" do
source = Account.new(50, :USD)
target = stub('target account')
source.transfer(5, :USD).to(target)
source.balance.should == Money.new(45, :USD)
end
end
end
22. Cucumber
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
23. Cucumber
Funcionalidade: Cadastrar Business Owner
Como product owner
Desejo que os donos de cada negócio se cadastrem
De modo que consiga segmentar seus dados
Cenário: Padrão
Dado que estou na página de cadastro
Quando preencher o email com labs@gonow.com.br
E clicar Enviar
Então devo ver a mensagem "Bem vindo ao Goin-Ads"
E devo ver o token na tela
E devo ver o email na tela
24. Remarkable
describe Advertise do
should_belong_to :business_owner
should_validate_presence_of :business_owner
should_have_one :local
should_have_many :dynamic_attributes,
:dependent => :destroy
end
25. Como Fazemos?
• Ferramentas
• Kanban
• Pivotal
• Git - Versionamento de Código
• Continuous Integration (Signal)
• Hoptoad
• New Relic
26.
27.
28.
29.
30.
31.
32.
33. Como? InheritedResources
class PerfisController < ApplicationController
def index
@perfis = Perfil.all
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @perfis }
end
end
def show
@perfil = Perfil.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @perfil }
end
end
def new
@perfil = Perfil.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @perfil }
end
end
def edit
@perfil = Perfil.find(params[:id])
end
.......
43. Serve para mim?
• Programação poliglota
• Melhora habilidades em todas
• Integração com o mundo corporativo
44. Serve para mim?
• Programação poliglota
• Melhora habilidades em todas
• Integração com o mundo corporativo
45. E agora?
• Fácil de aprender
• Comunidade
• Rails Guides
• Github
• Ruby Inside Brasil
• Ruby Onda
• Guru-SP
• Listas e fóruns
• Vídeos e Screencasts
46. E agora?
• Fácil de aprender
• Comunidade
• Rails Guides
• Github
• Ruby Inside Brasil
• Ruby Onda
• Guru-SP
• Listas e fóruns
• Vídeos e Screencasts
47. E agora?
• Fácil de aprender
• Comunidade
• Rails Guides
• Github
• Ruby Inside Brasil
• Ruby Onda
• Guru-SP
• Listas e fóruns
• Vídeos e Screencasts
48. E agora?
• Fácil de aprender
• Comunidade
• Rails Guides
• Github
• Ruby Inside Brasil
• Ruby Onda
• Guru-SP
• Listas e fóruns
• Vídeos e Screencasts
49. E agora?
• Fácil de aprender
• Comunidade
• Rails Guides
• Github
• Ruby Inside Brasil
• Ruby Onda
• Guru-SP
• Listas e fóruns
• Vídeos e Screencasts