Posts Tagged ‘gem’

Ruby-Processing

Postado em 23 ago 2009
Categoria(s) PIBIC, Processing, Ruby, Ruby-Processing

Antes de instalar o Ruby-Processing, é interessante entender o que é o Processing:

Processing

Processing é uma linguagem de programação open source e ambiente para pessoas que querem programar imagens, animações e interações. É usado por estudantes, artistas, designers, pesquisadores, entusiastas de aprendizagem, protótipos e produção. Ele foi criado para ensinar os fundamentos da programação de computadores dentro de um contexto visual e para servir como um caderno de desenho e ferramenta de produção profissional. Processing é uma alternativa às ferramentas de software proprietário no mesmo domínio.

Processing gera código que é executado em Java Virtual Machine (JVM). Com ele você pode gerar aplicativos desktop para vários sistemas operacionais e applets web.

Você pode encontrar mais informações sobre o Processing em: http://www.processing.org.

Ruby-Processing

Ruby-Processing é uma alternativa para programar em Processing em Ruby, com ele você pode gerar código Processing usando todo o poder do Ruby com sintaxe mais limpa. Ruby-Processing faz a ponte entre o Processing e JRuby.

Ruby-Processing foi portado por Jeremy Jashkenas, o código fonte está disponível em: http://github.com/jashkenas/ruby-processing/tree/master.

Instalação

A instalação abaixo é focada no sistema operacional Linux.

Instalação do Java

sudo apt-get install sun-java6-bin sun-java6-jdk sun-java6-jre sun-java6-plugin

Instalação do Ruby-Processing

gem sources -a http://gems.github.com
sudo gem install ruby-processing

Você quer aprender mais?

Leia: http://wiki.github.com/jashkenas/ruby-processing.

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

  • Share/Bookmark

Sistema de gerenciamento de torneios de futebol

Postado em 02 abr 2009
Categoria(s) CSS, Projetos, Ruby on Rails, WEB, Web 2.0

Essa semana eu entreguei um sistema de gerenciamento de torneios de futebol, eu já tinha feito esse sistema há um tempo atrás em PHP, mas percebi que estava muito enrolado para dar manunteção no código então resolvi refazer ele do zero em Ruby on Rails 2.2.2, aproveitei também para fazer diversas melhorias e implementar novos conceitos.

Esse sistema está disponível em http://campeonatos.centroirai.com.br, ele é um sistema universal de gerenciamento de torneios de futebol, ou seja, é possível colocar nele vários formatos diferentes de torneios de futebol e o sistema consegue gerenciar todo o conteúdo.

Página Inicial

O sistema é composto de duas áreas, a primeira é a área de visualização do visitantes http://campeonatos.centroirai.com.br a segunda é a área administrativa http://campeonatos.centroirai.com.br/admin, através da área administrativa é possível administrar todos as informações que compõem um determinado torneio.

Área Administrativa

Área Administrativa

O sistema trabalha em cima de torneios, desta forma o principal conteúdo é o torneio e todos os demais conteúdos estão relacionados com o torneio.

No gerenciamento do torneio é possível definir se ele está ativo, uma imagem para ilustrar, data de início, data de término, também é possível definir se o torneio está aberto para receber pré-inscrições de jogadores, essa opção permite que as pessoas interessadas possam fazer a sua pré-inscrição para participar do torneio.

Cadastro de Torneio

Cadastro de Torneio

A grande parte dos conteúdos do sistema aceitam descrição, para os campos de descrição foi usado o MCE Editor, desta forma é possível dar uma maior flexibilidade para o usuário alimentar o conteúdo do sistema.

Através da área administrativa é possível gerenciar os jogadores, gerenciar as equipes, fazer a associação entre jogadores e equipes, definir as etapas do torneio, os grupos dentro de cada etapa, gerenciar os jogos (definindo o confronto, data e hora), gerenciamento de placares dos jogos, gerenciamento de empresas que apoiam o torneio, gerenciamento de álbum de fotos, gerenciamento de vídeos com upload no formato flv e conteúdo do YouTube. O sistema também proporciona a criação de banners no topo, rodapé e menu lateral para cada torneio, desta forma é possível ter patrocinadores específicos para cada torneio. Todas as pré-inscrições recebidas também podem ser gerenciadas através da área administrativa, bem como o regulamento do torneio, que aceita descrição ou upload de um arquivo PDF com o regulamento.

Associação de jogadores x equipes

Associação de jogadores x equipes

Tanto as etapas como os grupos podem ser ordenados através de drag e drop, esse ordenamento é levando em consideração na exibição dos jogos e classificações na área de visualização dos visitantes.

Ordenação de etapas drag e drop

Ordenação de etapas drag e drop

Cadastro de jogo

Cadastro de jogo

Na definição do placar e possível definir a quantidade de gols que cada jogador de cada time vez, desta forma o sistema consegue obter a artilharia do torneio.

Cadastro de placar

Cadastro de placar

O sistema aceita N álbuns de fotos, e N fotos relacionadas com o álbum, os formatos de imagens aceitos são jpg, gif ou png. Todos os conteúdos que tem imagens trabalham com lightbox para exibição das imagens e navegação entre próxima e anterior.

Lightbox para as imagens

Lightbox para as imagens

Para agregar mais informação e interesse no sistema foi adicionado a parte de vídeos, onde e possível fazer upload de arquivos FLV ou vincular o conteúdo com o YouTube.

Vídeos do YouTube

Vídeos do YouTube

Vídeo FLV

Vídeo FLV

Já na área de visualização pelos visitantes existe a funcionalidade acompanhar o desempenho da equipe, ver os próximos jogos, classificação no torneio, os jogadores que fazem parte de cada equipe, regulamento, artilharia, fotos, vídeos, empresas que apoiam o torneio e banners de patrocionadores no topo, rodapé e menu lateral.

Página da equipe

Página da equipe

Classificações do torneio

Classificações do torneio

Jogos do torneio

Jogos do torneio

Artilharia do torneio

Artilharia do torneio

Álbuns de fotos

Álbuns de fotos

Vídeos

Vídeos

Para construir esse projeto em Ruby on Rails eu usei as gems: fastercsv (para exportar os contatos dos jogadores para csv), will_paginate, paperclip e os plugins: activerecord_i18n_defaults e lightbox.

  • Share/Bookmark

Ruby on Rails 2.2.2 Instalando GEM MySQL no Ubuntu 8.10

Postado em 02 mar 2009
Categoria(s) Ruby on Rails

Muitas pessoas estão com dificuldades para instalar o MySQL para ser usado com Ruby on Rails, eu também tive esse problema, por isso estou compartilhando a solução que eu encontrei.

Digite no terminal:

1
2
3
4
sudo apt-get install gcc
sudo apt-get install ruby-dev
sudo apt-get install libmysqlclient15-dev
sudo gem install mysql

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

  • Share/Bookmark

Ruby on Rails como exportar ou gerar CSV

Postado em 04 fev 2009
Categoria(s) Ruby on Rails

Para exportar ou gerar CSV no Ruby on Rails existe a gem FasterCSV.

Instalação:

1
sudo gem install fastercsv

Como usar:

Crie a action csv e o método privado stream_csv (necessário para fazer o download do csv) no controller.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class Admin::NewslettersController < ApplicationController
  def csv
    newsletters = Newsletter.find(:all)
    stream_csv do |csv|
      csv << ["nome", "email"]
      newsletters.each do |n|
        csv << [n.name, n.email]
      end
    end
  end
 
  private
 
  def stream_csv
    filename = "newsletters.csv"
 
    #this is required if you want this to work with IE
    if request.env['HTTP_USER_AGENT'] =~ /msie/i
      headers['Pragma'] = 'public'
      headers["Content-type"] = "text/plain"
      headers['Cache-Control'] = 'no-cache, must-revalidate, post-check=0, pre-check=0'
      headers['Content-Disposition'] = "attachment; filename=\"#{filename}\""
      headers['Expires'] = "0"
    else
      headers["Content-Type"] ||= 'text/csv'
      headers["Content-Disposition"] = "attachment; filename=\"#{filename}\""
    end
 
    render :text => Proc.new { |response, output|
      csv = FasterCSV.new(output, :row_sep => "\r\n")
      yield csv
    }
  end
end

Documentação do FasterCSV: http://fastercsv.rubyforge.org/.

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

  • Share/Bookmark

Ruby on Rails como colocar um captcha no formulário, instalação e uso do plugin Simple Captcha

Postado em 01 fev 2009
Categoria(s) Ruby on Rails

Conheço um plugin chamado Simple Captcha, eu acho ele muito bom e satifaz todas as minhas necessidades.

Vou explicar como instalar e usar:

Instalação ImageMagick e RMagick::

Como o captcha trabalha com geração dinâmica de imagens e necessário instalar essas libs:

1
2
3
sudo apt-get install imagemagick
sudo apt-get install libmagick9-dev
sudo gem install rmagick

Instalação do plugin Simple Captcha:

No diretório do projeto digite o seguinte:

1
ruby script/plugin install svn://rubyforge.org/var/svn/expressica/plugins/simple_captcha

Configuração da aplicação:

No diretório do projeto digite:

1
rake simple_captcha:setup

O comando acima irá criar um arquivo de migração para armazenar os captchas gerados no banco de dados, também irá criar um partial para exibir o captcha na view.

Agora faça o migrate:

1
rake db:migrate

É necessário adicionar uma rota no arquivo config/routes.rb, essa rota será responsável por gerar as imagens:

1
map.simple_captcha '/simple_captcha/:action', :controller => 'simple_captcha'

Adicione a seguinte linha no arquivo app/controllers/application.rb:

1
2
3
ApplicationController < ActionController::Base
  include SimpleCaptcha::ControllerHelpers
end

Como usar:

No seu formulário na view adicione o seguinte:

1
<%= show_simple_captcha( : object=> "user" ) %>

Onde : object => “user” é o nome do seu model.
Obs.: Eu deixei separado o dois pontos, : object => “user” porque o wordpress troca por desenhos smiley, na hora de codificar deixa tudo junto.

No model adicione a seguinte linha:

1
2
3
class User < ActiveRecord::Base
  apply_simple_captcha
end

Agora no controller ao invés de usar:

1
@user.save

Use:

1
@user.save_with_captcha

O método @user.save funciona corretamente, mas não leva em consideração o novo campo captcha, por isso é necessário usar o método @user.save_with_captcha.

Outras opções de uso e configuração, para ver outras alternativas eu sugiro que leia: http://expressica.com/simple_captcha/.

Se você gostou desse texto e acha que ajudou você, me recomende: Recommend Me.

  • Share/Bookmark