+55 81 3221.1546, email@caju.nu

Caju Agência Digital - Blog

Calendar Iterator, criação rápida para calendários em Rails

postado por wilker | October 9th, 2009 | 0 comentários

Eu estava aqui trabalhando num projeto em Rails, e surgiu a nescessidade de usar um calendário no site. Bom, como tudo no Rails eu decidi procurar algum plugin para isso, e encontrei o Calendar Helper, foi uma surpresa pois esse foi o único que eu encontrei, tentei utiliza-lo, precisei fazer algumas modificações no mesmo, mas fui precisando de mais e mais modificações, até eu decidir que esse plugin não era o correto pra mim, eu precisava de algo mais customizavel e simples. Então decidi criar o meu próprio, o Calendar Iterator.

A idéia é bastante simples, no lugar gerar o calendário inteiro (tabela, headers…) eu decidi simplesmente gerar os dias pertinentes ao calendário do mês atual, dessa forma o resto é facilmente customizável.

Veja alguns exemplos de uso:

# criando um calendário simples
<table>
  <tbody>
    <% calendar_iterate do |d| %>
      <%= d %>
    <% end %>
  </tbody>
</table>

# usando links nos dias do calendário
<table>
  <tbody>
    <% calendar_iterate do |d| %>
      <%= link_to d, events_path(:day => d.mday) %>
    <% end %>
  </tbody>
</table>

# usando uma versão totalmente customizada das tags <tr> e <td>
<table>
  <tbody>
    <% calendar_iterate.each_week do |w| %>
    <tr class="some_class">
      <% w.each do |d| %>
        <td class="cell_class"><%= d %></td>
      <% end %>
    </tr>
    <% end %>
  </tbody>
</table>

Então é isso, o código do projeto está no Github, e pode ser visto aqui.

Para instalar o Calendar Iterator na sua aplicação execute o seguinte comando:

script/plugin install git://github.com/wilkerlucio/calendar_iterator.git

tags: , , ,

Top
Página 1 de 11
©2009 Caju Agência Digital.