Mostrando postagens com marcador rails. Mostrar todas as postagens
Mostrando postagens com marcador rails. Mostrar todas as postagens

quinta-feira, 5 de novembro de 2009

Template para Rails

Bom, como eu comecei a desenvolver mais com rails ultimamente eu decidi criar um template de inicialização para minhas apps.

Os templates do Rails podem fazer para você várias configurações iniciais para sua aplicação (configurar gems, iniciar repositório git...).

Abaixo segue o template que eu criei:



Para quem quizer utilizar para testar basta executar o seguinte comando:

rails NOME_APP -m http://gist.github.com/raw/227656/f64ca46032c6e83f92000c9c33ce078b65beafdd/rails_template.rb

terça-feira, 3 de novembro de 2009

Rails no Ubuntu 9.10 (usando o mysql do xampp)

Bom, estive tendo alguns problemas para instalar as coisas aqui no Ubuntu, mas consegui resolver, segue o passo a passo de comandos para ter tudo instalado e pegando:

1. Instalar o XAMPP e o XAMPP development package (instrucoes no site do xampp)
2. Instalar o Ruby com Development Package:
sudo apt-get install ruby1.8 ruby1.8-dev rubygems1.8 irb rake libopenssl-ruby1.8

3. instalar o rails
sudo gem install rails

4. rodar o xampp
sudo /opt/lampp/lampp start

5. instalar o mysql
sudo gem install mysql -- --with-mysql-dir=/opt/lampp/ --with-mysql-lib=/opt/lampp/lib/mysql --with-mysql-include=/opt/lampp/include/mysql

6. configurar link para socket
sudo mkdir /var/run/mysqld
sudo ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock


É isso, com isso rolo tudo certo aqui :)

UPDATE:

Eu percebi que o link do mysqlsock é perdido sempre que o sistema é reiniciado.
Então eu criei um script para iniciar o xampp e criar o link automaticamente na inicialização:

crie o arquivo abaixo:

/usr/bin/lamppstart
#! /bin/bash

/opt/lampp/lampp start
mkdir /var/run/mysqld
ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock


após criar o script é nescessário incluí-lo na inicialização do sistema, para isso adicione a linha para executa-lo dentro do arquivo /etc/rc.local, o meu arquivo ficou assim:

/etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/usr/bin/lamppstart

exit 0

sexta-feira, 9 de outubro de 2009

Calendar Iterator, criando calendários para Rails

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>

# trocando a data do calendário (se você não preencher algum parâmetro, o ano/mês atual serão utilizados)
<table>
<tbody>
<% calendar_iterate :month => 6, :year => 2009 do |d| %>
<%= d %>
<% 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