Archive for March, 2008

Problemas com o RedCloth

Usando o helper textilize notei que ele estava tendo um comportamento estranho quando o texto tinha quebras de linha.
Fuçando no wiki descobri que a versão 3.0.4 da gem RedCloth, utilizada pelo helper, tem um bug que não identifica corretamente as quebras de linha como parágrafos.
Como solução, é indicado o downgrade/atualização para as versões 3.0.3 ou [...]

Usando o Castle ActiveRecord

O Castle ActiveRecord é uma implementação do pattern Active Record desenvolvido em .NET em cima do NHibernate.
Ele faz parte do pacote de frameworks do projeto Castle Projet, e tem forte influencia da implementação do Active Record do framework Ruby On Rails.
Entre as muitas características dele vale destacar, a possibilidade de mapeamento de classes via atributos [...]

Automatic Properties

No post anterior acabei usando um recurso disponível no C# 3.0 que ficou sem explicação.
O Automatic Properties.
public class Pessoa {
  public string Nome { get; set; }
  public string Email { get; set; }
}
Agora ao encontrar a declaração { get; set; }, o compilador gera automaticamente a variável privada e a implementação necessária para a [...]

Object e Collection Initializers

Mais uma novidade do C# 3.0 é a nova sintaxe para a inicialização de objetos e coleções.
Object Initializers
Agora podemos ao instanciar um objeto passar valores para as suas propriedades.
public class Pessoa {
  public string Nome { get; set; }
  public string Email { get; set; }
}

Pessoa joao = new Pessoa() { Nome = “João”, [...]

Extension Methods

Umas das novidades do C# 3.0 é a possibilidade de adicionar comportamento a uma classe sem a necessidade da criação de uma subclasse ou da recompilação do código original.
Essa funcionalidade é chamada de Extension Methods.
Criando um Extension Method
Imagine que você precisa validar se uma string é um e-mail válido. A solução mais comum é a [...]

Um pouco de mágica

A minha idéia inicial era botar em prática o que tinha visto no screencast do Fábio Akita sobre o plugin resource_controller. Mas já que estava fazendo um dry up no código dos controles fiquei pensando se não conseguia fazer fazer o mesmo com os modelos usando a gem Magic Models do Dr Nic’s.
“A gem Magic [...]