Criando um Rails Application Template

In: rails| ruby

20 set 2009

Rails Application TemplatesQuando vamos criar uma aplicação Rails, normalmente executamos uma série de passos (instalação de plugins, gems, controllers, etc.) iguais. Por que não automatizar esse processo?

Usando o ótimo guia escrito pelo Nando Vieira sobre Rails Application Templates, escrevi o meu primeiro template:

# Removendo porcarias
run "rm README"
run "rm public/index.html"
run "rm public/favicon.ico"
run "rm public/robots.txt"
 
# Git
git :init
file(".gitignore") do
<<-EOF
log/*.log
tmp/**/*
doc/api
doc/app
EOF
end
file("log/.gitignore", '')
file("tmp/.gitignore", '')
git :add => "."
git :commit => "-a -m 'Initial commit'"
 
# Gems
gem "authlogic"
gem "rspec"
gem "rspec-rails"
gem "less"
 
# Plugins
plugin "less-for-rails", :git => "git://github.com/augustl/less-for-rails.git"
plugin "jrails", :git => "git://github.com/aaronchi/jrails.git"
plugin "i18n_label", :git => "git://github.com/iain/i18n_label.git"
plugin "activerecord_i18n_defaults", :git => "git://github.com/dcrec1/activerecord_i18n_defaults.git"
plugin "brazilian-rails", :git => "git://github.com/tapajos/brazilian-rails.git"
plugin "asset_packager", :git => "git://github.com/sbecker/asset_packager.git"
plugin "formtastic", :git => "git://github.com/justinfrench/formtastic.git"
plugin "paperclip", :git => "git://github.com/thoughtbot/paperclip.git"
plugin "will_paginate", :git => "git://github.com/mislav/will_paginate.git"
git :add => "."
git :commit => "-a -m 'Installing basic plugins'"
 
# I18n - pt-br
file "config/locales/pt-BR.yml", open("http://github.com/svenfuchs/rails-i18n/raw/master/rails/locale/pt-BR.yml").read
gsub_file 'config/environment.rb', /# (config.i18n.default_locale = ):de/, '\1' + "'pt-BR'"
gsub_file 'config/environment.rb', /(config.time_zone = ')UTC'/, '\1' + 'Brasilia' + '\''
git :add => "."
git :commit => "-a -m 'Configure locale and language'"

Para usar o template, basta chama-lo durante a criação da aplicação com o parametro -m:

ricardo@earth:~/ $ rails test -m template.rb

Esse template é bem simples e faz apenas o que eu uso sempre em todas as aplicações:

  • Gems: authlogic, rspec, rspec-rails e less
  • Plugins: less-for-rails, jrails, i18n_label, activerecord_i18n_defaults, brazilian-rails, asset_packager, formtastic, paperclip e will_paginate.
  • Git: Inicia um repositório e faz os primeiros commits
  • Rails: Configura a linguagem para pt-br e o timezone para UTC-3.

Pode melhorar esse script? Faça um fork no Github

1 Response to Criando um Rails Application Template

Avatar

Andre Ferraro

fevereiro 9th, 2010 at 12:26 PM

Muito bom!! Estou fazendo o meu e vou postar no meu blog. Vlw!!

Comment Form

Sobre

Ricardo Duarte, 26 anos, trabalha na Nuntec, atua como desenvolvedor web a mais de 12 anos, já tendo passado por diversas tecnologias. Este blog irá comentar um pouco destas experiências.

rduarte's tweets

  • Venicios Ribeiro: É uma excelente forma de ativar o cache. Existem tbm outras tecnicas muito simples, como o Gzip. à [...]
  • Andre Ferraro: Muito bom!! Estou fazendo o meu e vou postar no meu blog. Vlw!! [...]
  • paulo henrique: Bom dia! existe algum app para usar o twitter no e71, que seja free [...]
  • Ricardo: Bruno, Aplicativo para IM com vídeo eu não conheço, mas para áudio você pode usar o Nimbuzz [...]
  • Bruno: Olá boa tarde. Gostaria de saber qual software IM pro E71 suporta conversação com áudio e video. [...]