O gem has_finder foi incorporado ao Rails, mas com um nome diferente: named_scope.
Uma documentação mais completa sobre o gem original você pode encontrar neste endereço: clique aqui.
Para entender o que isto acrescenta de novo ao Rails veja os exemplos abaixo:
end
Article.published.paginate(:page => 1)
Article.published.containing_the_letter_a.count
Article.containing_the_letter_a.find(:first)
Article.containing_the_letter_a.find(:all, :conditions => {...})
Ao invés de criar um método published para retornar os posts já publicados, estou usando o named_scope para fazer isto.
Mas o método é um pouco mais robusto do que isto. Veja mais alguns exemplos de como ele pode ser usado:
named_scope :written_before, lambda {|time|
{:conditions => ['written_on < ?', time] }
}
named_scope :anonymous_extension do
1
end
end
named_scope :named_extension, :extend => NamedExtension
named_scope :multiple_extensions, :extend => [MultipleExtensionTwo, MultipleExtensionOne]
2 Comentários
Trackbacks
- Nome do Jogo » Artigo » Edge Rails: Testando named_scope com proxy_options
- Nome do Jogo » Blog Archive » Edge Rails: Escopo padrão
Carlos,
Nao entendi seus dois segundos exemplos.
named_scope :named_extension, :extend => NamedExtension
Great blog!
Abs.
Peter
NamedExtension seria um módulo.