:: Topo :: doCoding :: Projectos Tutoriais ::
Tutoriais RubyOnRails
Introdução
Decidi aprender Ruby On Rails!
Faz sentido que essa aprendizagem seja progressiva e iterativa: do mais simples para o mais complexo, passo a passo.
Para esta aprendizagem vou recorrer ao pequeno IDE Geany, que tem syntax highlight e code completion para Ruby.
Objectivo
Por esse motivo, e para registar o meu progresso, existe esta página onde descrevo como tenho estado a aprender RubyOnRails ao completar cada um dos tutoriais.
Sempre que faça sentido, e seja possível, o tutorial deve ser completado aplicando as metodologias TDD/BDD.
Pressupostos
- Aprendizagem independente do sistema operativo. Irei descrever as diferenças que encontrar entre Ubuntu Feisty Fawn e Windows XP (com e sem Cygwin).
- Apache v2.0.59.
- Subversion v1.4.5. O acesso ao repositório será feito via SVN DAV, servido pelo Apache.
- SQLite v3.5.1.
- Ruby v1.8.6.
- Geany v0.12.
Preparação
Subversion
A execução destes passos parte do princípio de que:
- está instalado e correctamente configurado o Apache com o Subversion, em http://mydev/svn/doCoding/.
- existe a pasta /srv/svn/doCoding/, que irá conter o repositório Subversion.
- existe a pasta /srv/prj/doCoding/, que irá conter os projectos de cada tutorial.
Executar estes passos de preparação para os tutoriais:
- Criar um repositório Subversion para controlo de versões do projecto TutorialProjects.
Create Repository FSFS
svnadmin create /srv/svn/doCoding/TutorialProjects/
- Criar a pasta do projecto após checkout.
Project Checkout
svn checkout http://mydev/svn/doCoding/TutorialProjects /srv/prj/doCoding/TutorialProjects/
- Criar o layout genérico:
Create Project Skeleton
cd /srv/prj/doCoding/TutorialProjects/ mkdir RubyOnRails/ mkdir RubyOnRails/projects/ mkdir RubyOnRails/vendors/
- Importar o layout genérico - revisão 1.
Subversion Commit
svn commit -m "Import RubyOnRails Tutorial Projects Skeleton"
O layout genérico contém duas pastas:
- projects/, onde irão resider cada um dos projectos;
- vendors/, onde irá residir código comum aos projectos.
Ruby Gems
Instalar as gems necessárias:
- sqlite3-ruby v1.2.1.
Gem Install SQLite3-Ruby
gem install sqlite3-ruby --include-dependencies
Tutoriais
Irei seguir os tutoriais, um a um, mas com ligeiras alterações:
- Cada tutorial está associado a um projecto, que será mantido sobre controlo de versões.
- Cada passo que use “comandos” Rails será efectuado com o argumento ”–svn”.
- O primeiro passo de cada tutorial será criar a pasta projecto, por exemplo:
Create Project Folders
rails --svn WikiOnRails
- O segundo passo de cada tutorial será “copiar” (svn merge) as CustomRakeTasks da pasta /srv/prj/doCoding/vendors/plugins/CustomRakeTasks/, pois já aprendi que é muito prático ter Rake Tasks para auxiliar nos passos comuns em todos os tutoriais.
- O motor de base de dados será sempre o SQLite.
- Os caminhos (paths) indicados são de tipo Unix (/srv/…), pelo que no caso do Windows nativo deve-se substituir a slash inicial (”/”) por “C:\Cygwin\”, e substituir as slashes seguintes por back-slashes (“\”).
Dificuldades
SQLIte 3
Tive problemas em instalar o sqlite3-ruby sob o Cygwin. Acabei por usar os ports indicados no artigo How to get SQLite3, Cygwin and Rails to work together mas talvez seja possível instalar nativamente seguindo estas indicações:
Resoluções
- Implementação e uso das CustomRakeTasks. Acelera o desenrolar de cada tutorial.