Papel de Parede: Ruby on Rails 1

Publicado por Carlos Brando em 26 de Abril de 2007

Sempre estou mudando o papel de parede do meu notebook, e costumo colocar imagens que reflitam meus momentos. Procurando por um papel de parede novo, vejam o que encontrei:

Lindo não?

Para baixar a versão em alta resolução, clique aqui.

Desenvolvendo para mim mesmo 1

Publicado por Carlos Brando em 25 de Abril de 2007

Meu projeto deve entrar no ar logo depois do feriado. Enquanto isto pedi para alguns amigos analisarem e comentarem o que acharam, do que gostaram e não gostaram.

É claro que cada um voltou com uma opinião e palpite diferente. Se eu fosse implementar a idéia de cada um deles no projeto, teria no mínimo mais um mês de desenvolvimento e ainda assim não sei se ficaria legal.

Então, mais uma vez decidi "Cair na Real" e fazer o software para mim mesmo. Eu fiz a especificação inicial com base no que eu acho mais importante, e porque mudaria isto agora?

O livro prega que se eu tenho um problema, milhares de outras pessoas devem ter o mesmo problema. Assim, a solução que melhor me serve, vai servir para eles também.

Outra vantagem em usar esta estratégia é que eu realmente pretendo usar meu produto desta maneira, e por isto vou zelar por ele, vou cuidar dele.

É meu primeiro projeto pessoal usando RoR. É uma ferramenta simples, que em minha opinião resolve um problema que tenho. Espero que você também se apaixone por ela.

Para fazer mais, fiz menos… 2

Publicado por Carlos Brando em 23 de Abril de 2007

Sempre tive problemas com meus projetos. Começo e nunca termino…

Mês passado li a tradução do livro Getting Real feita pelo Akita. E pela primeira vez na vida terminei um projeto. O livro em si é uma injeção de animo.

Por que nunca havia terminado nenhum projeto antes? A resposta é bem simples, os projetos vão crescendo à medida que você os desenvolve. Sempre tem uma funcionalidade a mais, um ajuste a mais… E quando me dava por mim, ele já era grande demais e eu perdia o pique.

Desta vez, me estimulei e resolvi fazer algo pequeno, simples, que resolvesse 80% do problema proposto. Fiz menos…

Menos funcionalidades, menos erros, menos tempo e mais diversão.

Não vou entrar no mérito de se o conceito do livro é bom ou não. A única coisa que vale para mim neste momento é que funciona comigo. Trabalho como todo mundo e também não tenho tempo livre para meus projetos pessoais. A solução foi “Cair na Real”.

Usando BlueCloth no Dreamhost

Publicado por Carlos Brando em 19 de Abril de 2007

O Dreamhost é um excelente servidor, mas falha em alguns pontos. Eles possuem o plugin BlueCloth instalado, mas ele simplesmente não funciona em minhas aplicações RoR.

A solução foi copiar o arquivo bluecloth.rb que fica na pasta “C:\ruby\lib\ruby\gems\1.8\gems\BlueCloth-1.0.0\lib” (a pasta pode mudar dependendo da versão) para dentro da pasta lib da minha aplicação.

Depois ainda precisei inserir a seguinte linha no fim do arquivo environment.rb:

É uma solução paliativa, mas funciona.

Mensagens personalizadas com validates 1

Publicado por Carlos Brando em 17 de Abril de 2007

Um problema que temos com os validates é que ele insiste em colocar o nome do campo na frente da mensagem, mesmo quando personalizamos ela usando o :message.

Na nossa view ficaria assim:

  • Title O campo ‘Título’ deve ser preenchido

Como resolver isto?

Crie um arquivo .rb qualquer dentro da pasta lib com o seguinte conteúdo:

Não vou entrar em detalhes sobre o que o código faz (cabe a você analisar), mas basicamente eu verifico se o texto passado no :message possui:

  1. {?} em algum lugar do texto.
  2. Ou começa com ! (exclamação)

No primeiro caso, simplesmente subistituimos a string “{?}” pelo nome da coluna. O que nos permite criar algo assim: “O campo ‘{?}’ deve ser preenchido”.

No segundo caso, o código verifica se a mensagem começa com o símbolo de exclamação (!). Se sim, deixa a mensagem exatamente como está, ignorando completamente o nome da coluna.

Sendo assim, o código dado como exemplo acima poderia ficar assim:

E o resultado na sua página seria:

  • O campo ‘Título’ deve ser preenchido

Este é apenas um exemplo de como podemos alterar o Rails de forma simples para nossas necessidades.