sábado, 29 de março de 2014
DocumentosBr, mais uma contribuição para a comunidade Ruby
Como vocês devem ter acompanhado, semana passada soltei a 'gem' CpfUtils e por tabela comecei a desenvolver uma para CNPJ, já que as mudanças eram mínimas.
No início, pensei em juntar tudo em uma única gem, mas, imaginei que algumas pessoas poderiam por algum motivo não querer uma 'gem' com centenas de funcionalidades que não serviriam para nada, então, resolvi separar as funcionalidade em 'gems' que tivessem um único objetivo.
Pois bem, assim surgiram mais duas 'gems', a CnpjUtils e a TituloEleitorUtils, cada uma atendendo ao seu público.
Após terminar as três 'gems', percebi que também seria interessante ter tudo em uma única gem... :) , apenas como um wrapper para as outras três, o que facilita um pouquinho para quem quer ter as três 'gems' instaladas de uma única vez e assim atender a todos os gostos. Sendo assim surgiu a 'gem' DocumentosBr, que une as funcionalidades das 'gems' que tratam de documentos brasileiros.
DocumentosBr, assim como as outras três gems, estão no GitHub para quem quiser contribuir. Seguem os links:
>> CpfUtils: https://github.com/jacksonpires/cpf_utils
>> CnpjUtils: https://github.com/jacksonpires/cnpj_utils
>> TituloEleitorUtils: https://github.com/jacksonpires/titulo_eleitor_utils
>> DocumentosBr: https://github.com/jacksonpires/documentos_br
Como sempre, lembro que todas elas estão com 100% de cobertura de testes unitários usando Rspec.
Agora é com vocês!
quarta-feira, 26 de março de 2014
How to test Prawn + Rspec + Capybara on Ruby on Rails?
Eu estava procurando como testar Prawn + Rspec + Capybara no Ruby on Rails e encontrei alguns exemplos na Internet, mas, na maioria dos casos, os testes envolvendo o Prawn + Rspec estavam no "formado ruby", sem os famosos arquivos de view *.pdf.prawn. Decidi então testar de um modo diferente pois eu queria testar do mesmo jeito que o usuário usa a aplicação, clicando em um link/botão e vendo um PDF no navegador.
Pois bem, esse teste pode ser feito com o Rspec + Capybara + PDF-Inspector que inspeciona o PDF, validando o conteúdo gerado.
Para fazer o teste siga os passos:
>> Você pode ver o exemplo completo no Github <<
Criando o PDF e visualizando no seu browser.
1) Coloque essas gems na sua Gemfile:
- gem 'prawn'
- gem 'prawnto_2', :require => 'prawnto'
- gem 'rspec-rails', '~> 2.0'
- gem 'capybara'
- gem 'pdf-inspector'
2) Crie um link com o famoso helper "link_to" garantindo que o :format => :pdf foi usado.
- link_to "click here to generates the PDF", my_link_path(:format => :pdf)
3) Garanta que o controller/action usados no link renderiza o formato PDF.
- respond_to {|format| format.pdf}
- require "capybara/rspec"
- require " capybara/rails"
- Rspec.configure {|config| config.include Capybara::DSL}
- require "spec_helper"
- describe "Testing Prawn" do
- context "PDF" do
- it "Shows a PDF by clicking in the link" do
- visit "/my_link.pdf"
- ext_analysis = PDF::Inspector::Text.analyse(page.body)
- expect(ext_analysis.strings).to be_include("some text that you put in your pdf")
- end
- end
- end

Este é o teste que tenho usado para garantir os passos que o usuário fará e também garantir que o conteúdo gerado pelo prawn é o esperado.
In English...
I was searching how to test Prawn + Rspec + Capybara on Ruby on Rails then I found some examples in a Internet but, in the most of cases, the test made by Prawn + Rspec were in "ruby format", without the famous *.pdf.prawn view files. Then I decided to do a test of a different way, because I have want to test in the same way how the user to do when use the application, clicking in a button/link and see a PDF in a browser.
This test can be done by using Rspec + Capybara + PDF-Inspector that inspect the pdf, validating the generated content.
To do this test follow the steps
>> You can see the entire example on Github <<
Creating and using the PDF with views on your browser.
1) Put these gems on you Gemfile:
- gem 'prawn'
- gem 'prawnto_2', :require => 'prawnto'
- gem 'rspec-rails', '~> 2.0'
- gem 'capybara'
- gem 'pdf-inspector'
2) Creates a link with the famous "link_to" helper on the view that goes a link to your PDF and ensure the :format => :pdf are setted.
- link_to "click here to generates the PDF", my_link_path(:format => :pdf)
3) Ensure that the controller/action that you put in the link render the PDF format.
- respond_to {|format| format.pdf}
- require "capybara/rspec"
- require " capybara/rails"
- Rspec.configure {|config| config.include Capybara::DSL}
- require "spec_helper"
- describe "Testing Prawn" do
- context "PDF" do
- it "Shows a PDF by clicking in the link" do
- visit "/my_link.pdf"
- ext_analysis = PDF::Inspector::Text.analyse(page.body)
- expect(ext_analysis.strings).to be_include("some text that you put in your pdf")
- end
- end
- end
sexta-feira, 21 de março de 2014
CPF Utils, mais uma 'gem' na praça! :)
Pois bem, como as funcionalidades podem interessar aos meus amigos desenvolvedores Ruby/Rails, segue o link (https://github.com/jacksonpires/cpf_utils) para o repositório do Github, bem como o link (https://rubygems.org/gems/cpf_utils) para a página do repositório Rubygems.
Vale ressaltar que todo o código está documentado e coberto por testes unitários usando Rspec.
Que venham as críticas! :)
terça-feira, 21 de janeiro de 2014
Aulas grátis de Ruby on Rails para iniciantes! #Updated
Olha eu voltando a postar algo por aqui. :)
Bem, acabei de lançar um novo projeto que deve interessar aos meus colegas desenvolvedores.
Pois bem, dias atrás comecei a publicar, no meu canal do youtube, uma série de aulas sobre Ruby on Rails, dedicado à pessoas que estão iniciando na área.
A ideia inicial é postar vídeos de no máximo 15 minutos todas as sextas-feiras.
Desde já, agradeço a todos que estão enviando feedback, e peço que continuem enviando, pois são eles que motivam esse tipo de projeto.
Um abraço e boas aulas! ;)
#Update 07/02/2014
Aos interessados, fiz uma playlist no youtube para facilitar o acompanhamento.
sexta-feira, 12 de julho de 2013
Novo projeto no ar! (Site para resolução de questões de concurso público)
É com muito prazer que venho divulgar o mais novo site de resolução de concursos públicos! É ele, o site Mania de Concurseiro (www.maniadeconcurseiro.com.br).
A ideia do site é ajudar a todos que precisam estudar para concursos públicos através da resolução de questões de provas já realizadas. Para isso, todos os internautas podem contribuir enviando questões para o site e em contrapartida recebem uma pontuação, que pode ser trocada facilmente por acesso VIP, por exemplo.
A colaboração dos internautas visa contruirmos a maior base de questões de concurso para que todos desfrutem do bem maior, o estudo e o sucesso na aprovação do concurso desejado.
Além disso o site foi desenvolvido com o objetivo de ser rápido e eficiente na pesquisa e resoluções das questões, afinal, perder tempo é a última coisa que um concurseiro quer.
Em se tratando de serviços extras o site conta com os simulados, que são provas criadas pelo próprio usuário e que podem ser respondidas online ou ter um PDF gerado e baixado para que o aluno estude off-line, ou ainda, para que um professor possa passar para sua turma as questões de determinado concurso.
Enfim, queremos que o Mania de Concurseiro seja uma referência quando se tratar do ecossistema para estudos de concurso público.
É isso... Esperamos que ele ajude bastante aos atuais e futuros concurseiros!
[]'s
sexta-feira, 29 de junho de 2012
RVM - Ruby Version Manager / Para que serve?
Bom, antes de mais nada, sei que o blog está bem pouco movimentado quanto a novos posts, mas, é que com o advento do twitter e CIA é cada vez menos frequente a necessidade de postar algo por aqui. De qualquer sorte, esse cantinho serve bem quando queremos colocar algo incomun e que precise ser registrado. É isso.
Esse post naverdade eu tirei de um email que acabei escrevendo para um colega que teve uma dúvida sobre o RVM no OSX, então, como ficou legal, e como ele mesmo disse que serviria como um post aqui do blog, acho que vale compartilhar com vocês. O email está quase todo na íntegra, mas, fiz alguns ajustes para pode publicar aqui.
Segue o email...
=======================================
Caso ele já esteja instalada, digite "rvm list known". Esse comando vai mostrar todas as versões ruby que estão disponíveis para serem baixadas e instaladas.
terça-feira, 6 de setembro de 2011
quarta-feira, 3 de agosto de 2011
Rails 3 - spec_fetcher.rb:133:in `load': marshal data too short (ArgumentError)
terça-feira, 17 de maio de 2011
sexta-feira, 27 de agosto de 2010
Minha contribuição anual para a comunidade Rails! :D

Em junho desse ano, tive a oportunidade de falar sobre o Rails para a UNICENTRO em Guarapuava - PR.
Como a apresentação foi gravada, aproveito para disponibilizar para a comunidade.
>> http://webconf.rnp.br/
Espero que apreciem.
[]'s
segunda-feira, 21 de dezembro de 2009
TAR - Rails - Capistrano - SCHILY.dev - Snow Leopard
Como sempre, graças ao Santo Google encontrei a solução.
Percebi o problema abaixo quando fui utilizar o Capistrano após a atualização do Snow Leopard, o mesmo mostrava as seguintes linhas de erro após uplodear o arquivo e tentar descompactá-lo no servidor:
*** [err :: xxxxx.com.br] tar: Ignoring unknown extended header keyword `SCHILY.dev'
*** [err :: xxxxx.com.br] tar: Ignoring unknown extended header keyword `SCHILY.ino'
*** [err :: xxxxx.com.br] tar: Ignoring unknown extended header keyword `SCHILY.nlink'
Bem, o erro, conforme esse site, está que a Apple resolveu "trocar de lugar" o gnutar e o bsdtar. Segue abaixo, na íntegra, o que o camarada falou.

=================
The problem is that Apple used to include the GNU version of tar at /usr/bin/tar. With Snow Leopard Apple changed /usr/bin/tar to point to bsdtar, breaking any scripts or applications that depended on gnutar
To change it type the following in terminal:
cd /usr/bin; sudo ln -fs gnutar tar && /usr/bin/tar --version
To verify, it should say GNU somewhere in the output.
To change it back to default:
cd /usr/bin; sudo ln -fs bsdtar tar && /usr/bin/tar --version
É só fazer a alteração e partir para o abraço! :D
[]'s
sexta-feira, 11 de dezembro de 2009
require 'mysql_api' error no Rails - Snow Leopard


Após algum tempo testando e pesquisando sobre o assunto vi que o mesmo se resumia ao não "carregamento" da biblioteca "mysql_api", em alguns locais também vi que o pessoal se referia a esse ao tópico "gem install mysql returns list of No definition for XYZ", e assim descobri que a causa real do problema vinha da atualização mal sucedida do Snow Leopard que por acaso deixa uma versao 32Bits do Ruby instalada.
Para ter certeza se esse é o seu caso basta testar o arquivo
>> file /usr/local/bin/ruby
Se o retorno mostrar que a versão é 32Bits, voilá, esse será o problema.
Para corrigir é só reinstalar o Ruby.
É isso! Um problema a menos! ;)
segunda-feira, 16 de novembro de 2009
CONINFA 2009!
Eu que participei de todos os dias do evento sou suspeito em falar, mas o evento merece meus parabéns pela organização e participação de todos.
Tanto palestrantes como o corpo docente e discente marcaram suas presenças e contribuíram para que o evento fosse um sucesso.
Eu particularmente tive o privilégio de ministrar um mini-curso de Ruby on Rails e acredito ter conseguido passar uma visão bem geral so framework. Espero também que os que ficaram interessados no assunto possam entrar em contato para tirar suas dúvidas.
Aproveitem também e conheçam o grupo Ruby.PA, que é o grupo onde aproveitamos para falar de ruby e rails aqui na cidade de Paulo Afonso.

Vou torcer para que nos próximos anos o CONINFA possa arrebatar a região e trazer todos para prestigiar o que há de melhor nas áreas dos seus cursos.

Até ano que vem, se Deus quiser!
[]'s
segunda-feira, 14 de setembro de 2009
Rails For Kids 2009!
Brincadeiras a parte, o evento foi ótimo, e para eu que também participei da primeira edição em 2007, pude notar a grande evolução do software treinatom e consequentemente da e-Genial (idealizadora do evento), sempre com seus produtos e eventos de muita qualidade.
Não consegui assistir todas as palestras, mas boa parte delas, as que acompanhei, foram de muito proveito.
Esse post tem um breve resumo de como foi o evento.
Resta agora esperar o próximo Rails For Kids!
Parabéns a toda equipe e-Genial!
[]'s
terça-feira, 8 de setembro de 2009
Rails nas Prefeituras!

Confiram no trecho abaixo:
===============================
Você já conhecia o rails antes de fazer essa aplicação?
Sim, tive algum contato com a ferramenta, porém muito superficial.
O que chamou mais atenção quando você começou a desenvolver com o rails?
A questão da configuração e conveção é muito interessante, principalmente a convenção onde o código fica mais elegante e legível para outras pessoas, não existe tipo no asp ou no php, onde a estrutura de diretorios é definida de acordo com a vontade do desenvolvedor. No rails existe uma convenção onde os javascript, stylesheets, images, e seus códigos estarão onde realmente precisam estar, desta forma existe uma padronização do código, sem falar na facilidade de desenvolver, uma linguagem simples e enxuta, um framework que realmente utiliza o padrão arquitetural MVC.

Quanto tempo você levou para fazer a aplicação básica do seu projeto (sem o layout ou partes gráficas)?
Bom, para fazer a aplicação básica sem perfumarias, só o cru mesmo, levei acho que uma semana, porque os outros recursos que utilizei foram extras, ou seja, irrelevantes porém importantes para o funcionamento da aplicação.
Após fazer esse teste inicial com o rails em uma aplicação real, você recomendaria o rails como plataforma de desenvolvimento para outras empresas ou mesmo outras prefeituras?
Sim, com certeza. No meu caso o principal motivo de ter feito essa aplicação em Rails, foi justamente o tempo curto que tinha para desenvolvê-la, acreditei que com o Rails ganharia este tempo e mesmo ainda em fase de aprendizado estava certo.
Que comentários você deixa pra quem ainda não conhece o rails?
O que posso falar é que aprendam, o negócio funciona e funciona muito bem, agora o que eu costumo dizer o Rails não vai ser a salvação da sua vida, mas concerteza vai te dar uma ajuda muito grande, o resto depende de você. Ah, e outra, esqueçam essa história de comparar o Rails com outras linguagens, aprendam e ai vocês verão a diferença.
===============================
Então é isso, tá aí o primeiro case utilizando rails nos órgão públicos da nossa região!
Ahhh, o endereço do site é esse: http://e-gov.pauloafonso.ba.
Qualquer dúvida ou esclarecimento é só falar.
[]'s
quarta-feira, 12 de agosto de 2009
Oxente Rails!
Desde o último dia 30/07 que estou em um corre-corre imenso, mas resolvi dar uma paradinha para comentar sobre o evento Oxente Rails que aconteceu esse final de semana.
Apesar de já terem muitos posts sobre o assunto, acredito que vale a pena comentar mais um pouco sobre o mesmo, e dar crédito ao evento como um todo.
Bem, para ir ao evento, eu e meu colega Marcus fizemos um trajeto um tanto diferente dos demais participantes, pois, além de sermos de outro estado decidimos ir de moto.
O trajeto escolhido rendeu 730Km conforme pode-se observar abaixo.
Exibir mapa ampliado
A viagem, apesar de tranquila, foi regrada a muita chuva, o que acabou atrasando um pouco a viagem, mas, nada que atrapalhasse a empolgação.

O Evento em si foi ótimo. Todos estavam muito receptivos, e isso facilitou bastante fazer novas amizades e é claro conhecer todos aqueles que conversamos pela net.
Em resumo, recomendo a todos que se puderem ir aos eventos de Rails que o façam. É impossível descrever, só quem esteve lá vai saber o que realmente é participar de eventos assim.
Agora é se preparar para ir ano que vem, inclusive quem sabe a Summit não entra na lista dos Railers do Asfalto. :)
[]'s
quarta-feira, 15 de julho de 2009
Instalando Gems através do Git
Muitas gems são hospedadas em repositórios git, tais como o repositório público Github. Entretanto, para pegar a última versão, frequentemente não há gems construídas para você instalar com facilidade. Embora, instalar através do git seja fácil.
Primeiro você deve entender o que o git é. Git é o quê os desenvolvedores de código usam para acompanhar o código-fonte e colaborar ao mesmo tempo. Git não é um mecanismo de lançamento de versões. Por isso é importante notar que a versão do software que você pega do git, pode ou não ser estável. Essa não é uma versão lançada, e pode conter bugs que podem ser corrigidos antes da próxima versão oficial.
A primeira coisa que você deve fazer a fim de instalar gems através do git é instalar o git. Essa página do livro do Git explica como fazer isso. É bastante simples em todas as plataformas, e uma vez que é instalado, você têm tudo que você precisa.
Instalar uma gem através de um repositório Git pode ser feito em 4 passos.
- Clone o repositório Git.
- Mude para o novo diretório.
- Construa/Compile a gem.
- Instale a gem.
Clone o repositório Git
Na linguagem Git, "clonar" um repositório git é fazer uma cópia dele. Nós faremos uma cópia de um repositório do RSpec no github. Esta cópia será uma cópia completa, o mesmo que os desenvolvedores terão em seus computadores. Você pode até mesmo fazer alterações (embora você não será capaz de "commitar", enviar essas alterações de volta para o repositório).
A única coisa que você precisa para clonar um repositório git é a URL git. Isso está disponível na página do RSpec no github. A URL para clonar o RSpec é: git://github.com/dchelimsky/rspec.git. Agora simplesmente use o comando "git clone" com o URL fornecida.
$ git clone git://github.com/dchelimsky/rspec.git
Isso irá clonar o repositório do RSpec dentro de um repositório chamado rspec. Esse diretório deve sempre ser o mesmo que a parte final da URL clone (menos a parte .git).
Mudando para um novo diretório
Esse passo, também, é muito simples. Simplesmente mude mude para o novo diretório criado pelo Git.
$ cd rspec
Compilando/Construindo a Gem
Esse passo é um pouquinho mais complicado. Gems são compiladas/construídas usando o Rake, usando uma tarefa chamada "gem".
$ rake gem
Embora possa não parecer simples. Quando você instala uma gem usando o comando gem, silenciosamente, "por trás das cenas", alguma coisa está sendo feita de importante: Checagem de dependências. Quando você rodaro comando, ele pode retornar uma mensagem de erro dizendo que precisa instalar outras gems, ou que você precisa atualizar uma gem já instalada. Instale ou atualize essa gem usando o mesmo comando gem, ou instalando-a pelo git. Você pode ter de fazer isto várias vezes dependendo de quantas dependências a gem tenha.
Instale a Gem
Quando o processo de construção/compilação é completada, você terá uma nova gem no diretório pkg. Simplesmente dê o path relativo para esse arquivo .gem com o comando gem install. Você precisará de privilégios de ardministrador para fazer isso no Linux ou OSX.
$ gem install pkg/gemname-1.23.gem
A gem agora está instalada e pode ser usada como qualquer outra gem.
[]'s
sexta-feira, 10 de julho de 2009
Trabalhando com Gems no Ruby/Rails
Você pode adicionar e instalar Ruby Gems através de procura no repositório do Ruby Gems. Simplesmente rode o comando "gem search". Por padrão, Ruby Gems faz a procura apenas no seu repositório local -- as gems que você tem instalada. Enquanto isso pode ser muito útil para procurar gems já instaladas, isso geralmente não é a intenção de quando se roda o comando search. Para procurar em repositórios remotos, adicione --remote ou -r ao comando.
O forma básica de uma procura com o Ruby Gems é uma simples pesquisa de um termo sem outro argumento que não seja o --remote. O termo pesquisado será comparado com todas as Gems no repositório e seus resultados incluirão respostas aproximadas. Por exemplo, procurando por cloth isso inclui as gems "RedCloth" e "BlueCloth".
Abaixo temos um exemplo de procura por cloth. Uma quantidade de gems são listadas, bem como as sua versão atual. Essa saída pode ser alterada conforme as indicações abaixo.
$ gem search --remote cloth
*** REMOTE GEMS ***
BlueCloth (1.0.0)
ClothRed (0.4.1)
mediacloth (0.0.3)
RedCloth (3.0.4)
O número de argumentos pode ser fornecido para definir qual os resultados devem ser impressos no terminal. A lista completa desses argumentos podem ser acessada rodando o comando "gem help search". Outros tópicos de ajuda podem ser visualizados quando é rodado o comando "gem help".
- -d, --details - Mostra as descrições das RubyGem bem como os nomes das gems e suas versões. Isso particularmente é útil quando você está procurando por gems relacionadas a um dado tópico. Por exemplo, quando estamos procurando por gems que trabalham com arquivos PDF, se você não tem uma gem específica em mente, procure por gems com PDF em seu nome e lendo as descrições você pode ter uma ideia do que está disponível.
- --local, --remote, --both - Define onde o RubyGems deverá procurar as gems.
- -a, --all - Mostra todas as versões da gem no repositório. Quando um desenvolvedor atualiza a versão de uma gem, a gem antiga não é deletada, desde que isso possa ser necessário (às vezes) para instalar uma versão anterior da gem. Usando esse parâmetro o RubyGems mostrará todas as versões da gem que estão no repositório.
Instalando Gems
Para instalar gems, você deve ter acesso de escrita. No Linux ou OS X, isso significa torna-se root/administrador no terminal ou usar o comando "sudo" para ordar a RubyGems como root/administrador. Os exemplos abaixo mostrarão como fazer isso com o "sudo", você precisará se reportar à documentação do seu sistema operacional para instruções de como rodar coisas como root/administrador. No Windows, você não precisará rodar o comando gem como um usuário administrador se, no seu HD, você tiver acesso de escrita na pasta da gem.
Instale gems com o comando "gem install". Com o comando "search", adicionar o parâmetro"--remote" é necessário. Você pode também fornecer o nome completo, não apenas o termo pesquisado como você fez com o comando de busca. Lembre-se que os nomes são também "case sensitive": "redcloth" não é o mesmo que "RedCloth".
$ sudo gem install RedCloth
[sudo] password for username:
Updating metadata for 52 gems from http://gems.rubyforge.org/
....................................................
complete
Successfully installed RedCloth-3.0.4
1 gem installed
Você pode também instalar uma versão específica de uma gem. Por exemplo, pode ser que você queira instalar uma versão anterior do RedCloth porque uma nova versão tem um bug ou quebra um recurso que você precisa usar. Nesse caso, você pode usar o parâmetro "--version", primeiro use o comando com o parâmetro "--all" para verificar quais versões estão disponíveis.
$ gem search --remote --all redcloth
*** REMOTE GEMS ***
Bulk updating Gem source index for: http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyforge.org/
RedCloth (3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 2.0.11, 2.0.10,
2.0.9, 2.0.8, 2.0.7, 2.0.6, 2.0.5, 2.0.4, 2.0.3, 2.0.2)
Neste exemplo, uma das últimas versões instaladas da série 2.x, 2.0.11. O parâmetro "--version" pega a "string versão" como um argumento. Uma string de versão tem um operador seguido por um número de versão. O operador pode ser apenas = (o sinal de igual) que significa que você deseja instalar a versão exata gema, mas também pode ser algo do tipo >= (maior ou igual a) para significar que você deseja instalar essa versão ou de qualquer versão mais recente.
$ sudo gem install --version '= 2.0.11' RedCloth
Bulk updating Gem source index for: http://gems.rubyforge.org/
Successfully installed RedCloth-2.0.11
1 gem installed
segunda-feira, 22 de junho de 2009
OxenteRails!
Wow, então aproveito aqui para divulgar o evento, que a princípio devo participar e devo ir de moto :D, cumprindo ao menos uma viagem anual como fiz ano passado, que por acaso também foi para um evento Rails. Tô comecando a achar que esses eventos nordestinos vão ser todos regrados a viagens de moto todos os anos. :)
O OxenteRails, será um evento que a princícpio rodará todo nordeste, começando esse ano por Natal-RN e a cada ano passando por cada uma das capitais.
De cara, o evento parece ser bem estruturado e ainda contará com palestrantes internacionais e tradução simultânea dos mesmos.
Fica então o convite a todos para participarem desse evento que promete ser muito bom.
Ahhh... fiquem de olho no Twitter do OxenteRails e, se tiverem algum trabalho à apresentar já podem postar aqui.
[]'s
sexta-feira, 3 de abril de 2009
Visão do mundo Rails...
http://labuschin.com/rails
Achei interessante resgistrar aqui, já que se trata de uma página com um bom apanhado do que temos para rails atualmente.

[]'s




