Galera é com muita felicidade que comunico a todos que acabei de publicar no github, meu primeiro plugin, o ActsAsPoll, ele está bem simples, e provavelmente não está bem escrito, por isso ele esta disponivel para quem quiser ajudar no desenvolvimento do mesmo.
O que ele faz?
Esse plugin cria enquetes para um site em Rails, contendo a votação, e uma tela de resultado usando AJAX.
Como se usa?
Para utiliza-lo faça o download do github usando o comando
script/plugin install git://github.com/fellix/acts_as_poll.git
assim está instalado o plugin na sua aplicação, para utilizado você precisará gerar os arquivos principais utilizando o gerador poll, bem simples de se criar basta utilizar o comando:
script/generate poll poll
o primerio parametro e o generator poll que vem junto com o plugin, e o segundo argumento e o nome que será utilizado por migrações, models, controllers, etc. Executando esse comando serão criados alguns arquivos:
- 2 migrações, uma para a classe Poll, e outra para a classe PollOption
- 2 models, cada um correspondente a cada migração
- 1 controller, que vai gerenciar a votação via AJAX
- 2 partials, na pasta shared, que se não existir será criada. Uma delas monta o formulário de votação, e o outro mostra o resultado na tela.
- E por ultimo 1 helper na pasta app/helpers, PollHelper, que conterá um metodo de ajuda que renderizará o partial que monta o formulário de votação.
Por enquanto o plugin não contem a parte de administração e cadastro de enquetes, mas está nos planos, caso alguém queira ajudar, essa é a hora :).
Com esse material você já pode usar a enquete, como citei anteriormente ele usa AJAX, certifique-se que no seu application.html.erb possui a tag
javascript_include_tag :defaults
e em alguma view que você queira mostrar a enquete pasta chamar o metodo helper poller e passar como parametro o argumento uma variavel do tipo Poll, e ele montará um formulário para votação.
Também é possível utilizar os metodos do ActiveRecord como por exemplo:
poller(Poll.find(1))
assim teria montada a enquete com o ID 1 no sua página. Inicialmente está bem simples, pretendo melhorar mais tarde, a ideia principal é deixa-lo simples, ainda há diversas ideias a serem colocadas no projeto, como por exemplo um gerador randomico, que pegaria uma enquete randomica a cada request, essa pode ser para um futuro update.
1 comentários:
Legal, ótima iniciativa. Vou tentar usar aqui.
Abraço.
Postar um comentário