:: 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

  1. Aprendizagem independente do sistema operativo. Irei descrever as diferenças que encontrar entre Ubuntu Feisty Fawn e Windows XP (com e sem Cygwin).
  2. Apache v2.0.59.
  3. Subversion v1.4.5. O acesso ao repositório será feito via SVN DAV, servido pelo Apache.
  4. SQLite v3.5.1.
  5. Ruby v1.8.6.
  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:

  1. Criar um repositório Subversion para controlo de versões do projecto TutorialProjects.

    Create Repository FSFS

    svnadmin create /srv/svn/doCoding/TutorialProjects/
  2. Criar a pasta do projecto após checkout.

    Project Checkout

    svn checkout http://mydev/svn/doCoding/TutorialProjects /srv/prj/doCoding/TutorialProjects/
  3. Criar o layout genérico:

    Create Project Skeleton

    cd /srv/prj/doCoding/TutorialProjects/
    mkdir RubyOnRails/
    mkdir RubyOnRails/projects/
    mkdir RubyOnRails/vendors/
  4. 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:

  1. sqlite3-ruby v1.2.1.

    Gem Install SQLite3-Ruby

    gem install sqlite3-ruby --include-dependencies
  2. Rake v0.7.3.

    Gem Install Rake

    gem install rake --include-dependencies
  3. RubyOnRails v1.2.4.

    Gem Install Rails

    gem install rails --include-dependencies
  4. Piston v1.3.3.

    Gem Install Piston

    gem install piston --include-dependencies
  5. RedCloth v3.0.4.

    Gem Install RedCloth

    gem install RedCloth --include-dependencies
A escolha de qual gem a instalar é decidida consoante se está em Windows nativo (win32) ou não (Ubuntu, Windows + Cygwin).

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

  1. Implementação e uso das CustomRakeTasks. Acelera o desenrolar de cada tutorial.
 
docoding/tutorialprojects/rubyonrails.txt · Modificado em: 2008/02/11 20:03 por straider     Voltar ao topo