Em um surto de grande satisfação programando
Ruby eh conhecido por ter um sintaxe poderosa ( e pouco legível até p/ os programadores ruby), porem na minha programação Rails cotidiana utilizo muito pouco os recursos legais, este foi um caso muito foda, lean as well as clean!
1. grupos = Grupo.find :all,
:from=>’grupo, clientegrupo’,
:conditions=>”clientegrupo.cliente_id = #{@cliente.id} AND grupo.id = clientegrupo.grupo_id”
2. @futuras = grupos.select{ |u| u.dt_inicio > Date.today }
3. @passadas = grupos - @futuras
Explicação
1. grupos recebeu um Array do ActiveRecord, mais exatamente da minha classe Grupo
2. Array.select é um método de array que retorna outro array no qual os elementos sigam determinada condição
3. Agora o melhor! Arrays tem operações de conjunto! O que não esta em futuro, é passado! (não o presente não conta pq ele não existe?! )
http://www.ruby-doc.org/core/classes/Array.html
|