Rails 2.1!
5 dias atrás saiu a versão 2.1 do Rails, e hoje (agora mesmo) foi anunciado o lançamento do primeiro livro sobre o Rails 2.1, e o livro é brasileiríssimo! Foi escrito pelo Carlos Brando e Marcos Tapajós, e está disponível no site Baú de Arquivos.
Acabei de fazer download da minha cópia, pelo índice de conteúdo do livro, promete ser muito interessante.
segue a introdução do livro:
Por volta do mês de julho de 2004 David Heinemeier Hansson lançou publicamente o framework Ruby on Rails, que havia sido extraído de um software chamado Basecamp. Mais de três anos depois, no dia 7 de dezembro de 2007 o Ruby on Rails chegou a sua versão 2.0 com diversas alterações importantes. De lá para cá se passaram seis meses, e neste tempo mais de 1400 programadores do mundo todo contribuiram criando 1600 patches. E hoje, 1 de junho de 2008 o Ruby on Rails chega à sua versão 2.1.
De acordo com David as principais novidades nesta versão são:
- Timezones
- Dirty tracking
- Gem Dependencies
- Named scope
- UTC-based migrations
- Better caching
Para atualizar ou instalar a nova versão, é o de sempre:
gem install rails
primeiros passos com o Git
acabei de ver um screencast sobre o git+rails, muito interessante.
para utilizar o git com um projeto novo em rails, é necessário seguir os seguintes passos:
1. crie seu projeto:
rails todo
2. depois, inicie o git
git init
3. adicione os arquivos/diretórios a serem ignorados no .gitignore
.DS_Store
conf/database.yml
db/*.sqlite3
tmp//
log/*.log
4. crie alguns arquivos .gitignore
touch tmp/.gitignore vendor/.gitignore log/.gitignore
5. e finalmente adicione o projeto, e dê um commit no projeto
git add .
git commit
talvez seja interessante ignorar o diretório cache/, ainda não usei muito o git, mas pode ser interessante fazer isto.
Videos do Rails for Kids
estão disponíveis os videos do Rails for Kids, com as seguintes palestras:
- Ame seu código – Bons hábitos com Ruby on Rails (Eduardo Fiorezi)
- Tomando a pílula vermelha: bem-vindo ao desenvolvimento web sem dor com ROR (Demetrius Nunes)
- Ajax com Rails, interatividade e usabilidade ao alcance de todos (Rodrigo Urubatan F. J.)
- Rails e a onda da adoção tecnológica: Por que agora é uma boa época para adotar o Rails (Carl Anthony Youngblood)
- Domain Specific Languages – Estendendo o Rails para produtividade máxima (Ronaldo Melo Ferraz)
- Desvendando o novo Rails 2.0 (Fabio Akita)
- Ruby on Rails e o Mercado (Julio Santos Monteiro)
- Projeto Lucidus: produtividade ao extremo com XP e Rails (Vinícius Maranhães Teles)
- Um bate papo com Carl, Fabio Akita, Ronaldo Ferraz e o Vinícius Manhães Teles (Mesa redonda)
http://www.egenial.com.br/railsforkids/
email: falecom at egenial.com.br
senha: cotolengo123
Baú de Arquivos
recebi hoje um convite para o site “Baú de Arquivos”, mais um site em Rails lançado na tupiniquinlândia.
Muito legal o site, o visual e usabilidade são nota 10, MAS na hora que eu entrei no grupo “Minas on Rails”, vi a lista de participantes, e a lista de arquivos do grupo, por algum motivo não tinha link nem pro perfil dos usuários, e nem para o download dos arquivos. Essa foi minha primeira impressão do projeto.
No mais, é um projeto que acabou de sair do forno, e parece bem promissor.
Rails 2.0
o DHH anunciou ontem (7/dez) o lançamento do Rails 2.0, infelizmente só pude saber hoje, estou (teoricamente) sem internet, ah… se não fossem as redes wifi abertas :)
pelo visto há uma série de novas features, Carlos Júnior escreveu sobre várias delas, a vida promete ficar muito melhor agora.
leia também a notícia oficial no blog do Ruby on Rails.
Clovisgeyer.com.br

(devia ter diminuido mais essa imagem, blah)
Depois de algum tempo de desenvolvimento, enfim está no ar o site do meu pai, com charges e artigos do mesmo :)
criado com RoR, é claro :P
DRYing database.yaml
não se repetindo no database.yaml do Rails,
development: &login adapter: sqlite3 dbfile: db/database.sqlite3 test: <<: *login production: <<: *login
isso é bom pra quando se está com preguiça de fazer um database pra cada environment ;)
Trabalhando com Rails
num passeio matinal pela internet, esbarrei com o site Working With Rails, curiosamente eu encontrei o meu nome lá (ok, eu estava procurando pelo meu nome no Google)
muito bom, já tenho 25% de autoridade, de acordo com o site ;)
“Using Ruby for 6 years
Using Rails for 2 years 6 months”
standalone activerecord
para aqueles que como eu adoraram as facilidades que o ActiveRecord traz pra vida do programador, mas nem sempre querem criar uma aplicação rails pra resolver problemas simples da vida cotidiana,
require 'rubygems'
require_gem 'ativerecord
# cria uma conexão simples com sqlite3
ActiveRecord::Base.establish_connection(
:adapter => 'sqlite3',
:dbfile => 'lista.sqlite3')
# define um modelo para o User.
# requer uma tabela users no banco de dados, duh
class User < ActiveRecord::Base
validates_presence_of :email, :login
validates_format_of(:email,
:with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i,
:on => :create,
:message=>"has an invalid format")
end
# voila
User.find(:all).earch {|user| puts user.login }
helpers, partials e components
um truque interessante com partials é enviar um collection ao invés de :locals, por exemplo:
render :partial => 'posts/post', :collection @posts
isso vai fazer ele utilizar o partial 'posts/post' (que fica no app/views/posts/_post.rhtml) repetidas vezes, até acabar o conteúdo do @posts, superDRY.detalhe: as variáveis dentro de um partial que vai ser utilizado como collection, devem ter o nome do partial, nesse caso elas vão se chamar @post
Components: partials reloaded
os components são interessantes pelo fato de você não precisar enviar dados, é como se você pedisse pra ele utilizar uma ação de um controlador, são uma mão na roda em casos que você não quer ficar especificando em todos os controladores pra pegar do banco de dados os dados necessários pra um partial. são bem simples de se usar.
render_component :controller => 'principal', :action => 'ultimosTextos'
helpers
são muito parecidos com os partials, você escolhe entre utilizar um helper ou um partial de acordo com a quantidade de html ou código ruby que você tem que escrever, se você tiver que escrever mais código html, use os partials.é isso aí, happy coding.
*preguiça*

