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: calendário, plugin, programação, rails
Top