31 de MarAo de 2008 às 17:37 · 2 comentários
No sábado, saiu a nova versão do RubyGems, o gerenciador de pacotes do mundo Ruby.
Para atualizar, é só rodar o comando:
sudo gem update --system
Pronto! Só que, aqui no Mac OS X, ele instala a nova versão, mas o comando gem ainda aponta para a versão antiga:
$ gem -v
1.1.0
$
Talvez seja porquê o RubyGems agora é incluído por padrão no Leopard. Porém, eu queria desfrutar da velocidade para instalar novas gems que a versão 1.1 possui. Aqui vai uma solução:
$ sudo gem install rubygems-update
$ sudo update_rubygems
Funciona! Para aqueles que não necessitam da versão 1.1 com urgência, recomendo esperar um update da Apple (que pode demorar).
Tags:ruby
19 de Novembro de 2007 às 18:54 · 1 comentário
Neste final de semana aconteceu o RejectConf’07. Muitas palestras e cases de sucesso. Mas com certeza o melhor foi finalmente poder conhecer a galera da comunidade Ruby/Rails pessoalmente. Akita, Carlos Brando, Eduardo Fiorezi, o pessoal do Pagestackr, entre outros feras. Agora precisamos marcar um “Nerds On Beer” com essa galera para trocarmos mais idéias.
E que venha a RailsConf Brasil! ;)
Tags:ruby
17 de Julho de 2007 às 11:57 · 4 comentários
Como estou no trabalho, e por aqui não tem uma TV por perto, estava acessando demais o quadro de medalhas do Terra. Então, pensei: porque não fazer um programinha Ruby que me retornasse a colocação e as medalhas do Brasil?
Então, mãos à obra!
Continue lendo...
Tags:ruby
23 de Junho de 2007 às 12:50 · 0 comentários
Em alguns projetos, é necessário utilizar os nomes de meses, ou dias da semana em português. Eu sempre usei o método de sobrescrever as constantes que o Ruby usa, colocando o seguinte código no config/environment.rb:
silence_warnings do
Date::MONTHNAMES = [nil] + %w(Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro)
Date::DAYNAMES = %w(Domingo Segunda-Feira Terça-Feira Quarta-Feira Quinta-Feira Sexta-Feira Sábado)
Date::ABBR_MONTHNAMES = [nil] + %w(Jan Fev Mar Abr Mai Jun Jul Aug Set Out Nov Dez)
Date::ABBR_DAYNAMES = %w(Dom Seg Ter Qua Qui Sex Sab)
Time::MONTHNAMES = Date::MONTHNAMES
Time::DAYNAMES = Date::DAYNAMES
Time::ABBR_MONTHNAMES = Date::ABBR_MONTHNAMES
Time::ABBR_DAYNAMES = Date::ABBR_DAYNAMES
end
Acontece, que quando usamos a função strftime, estes nomes não são traduzidos. Eles funcionam apenas nos helpers date_select, entro outros. Em um projeto meu, eu precisava usar estes nomes traduzidos, justamente com a função strftime, então, cheguei à este código:
class Time
alias :strftime_nolocale :strftime
def strftime(format)
format = format.dup
format.gsub!(/%a/, Date::ABBR_DAYNAMES[self.wday])
format.gsub!(/%A/, Date::DAYNAMES[self.wday])
format.gsub!(/%b/, Date::ABBR_MONTHNAMES[self.mon])
format.gsub!(/%B/, Date::MONTHNAMES[self.mon])
self.strftime_nolocale(format)
end
end
E funcionou!
Fica aqui a dica então, para quem estiver com este mesmo problema.
Tags:ruby
22 de Maio de 2007 às 14:34 · 5 comentários
Acabei de ler este artigo no blog Softies on Rails, e resolvi traduzí-lo. Sabe quando você conhece determinada função, e mesmo sabendo que ela é útil, nunca usa? É preciso ler um artigo pra "cair em si", não é?. Então, este artigo é um deles. Pelo menos foi pra mim.
Continue lendo...
Tags:ruby
13 de Maio de 2007 às 18:32 · 0 comentários
Depois que eu comecei a usar FeedReaders online (primeiro usei o Bloglines agora migrei para o Google Reader) nunca mais visitei qualquer site para ir atrás de notícias, quer dizer, visitava apenas um: o site da 89 FM.
Sempre pensei em criar um feed para a seção Notas Musicais do site. Só que nunca fui atrás, por pura falta de tempo em procurar por bibliotecas que fizessem o Parsing em HTML, tanto em Python ou PHP.
Depois de conhecer Ruby, pensei em perder um tempinho, procurando alguma biblioteca que fizesse o Parsing HTML, e depois, construir o feed RSS. Fazer o Feed seria a parte mais fácil, graças à biblioteca Builder usada para gerar arquivos XML.
O parsing ficaria à cargo da excelente Hpricot. Porém, encontrei uma outra biblioteca, chamada Feedalizer que usa a Hpricot para criar feeds RSS. Menos trabalho que isso, impossível!
Então, aqui vai o código usada para gerar o feed da página:
#!/usr/bin/env ruby
require "rubygems"
require "feedalizer"
require "time"
rss = File.new("arthurgeek.net/89.xml","w")
feedalize("http://www.89fm.com.br/notas/") do
feed.title = "89 FM Notas"
feed.about = "..."
feed.description = "Notícias do mundo musical da 89FM"
scrape_items("a.formtextobranco") do |rss_item, html_element|
rss_item.link = "http://www.89fm.com.br" + html_element.attributes["href"]
rss_item.date = Time.parse(html_element.to_s)
rss_item.title = html_element.inner_html
rss_item.description = html_element.inner_html
end
output! rss
end
rss.close
O arquivo do feed está disponível aqui e já estou usando-o há mais de 2 meses, e acredito, que não tem mais bugs, e pode agora, ser usado por qualquer um.
Ah, como eu gosto desta linguagem...
Tags:ruby
13 de Maio de 2007 às 16:21 · 12 comentários
[Update: Hoje em dia, o método preferido para deploy Rails + Apache é usando o Phusion Passenger, também conhecido como mod_rails. Para aprender como fazer um deploy com o mod_rails, leia este excelente artigo do Nando Vieira. :)]
Como eu havia dito, não achei artigos em português explicando como fazer o deploy de aplicações Rails usando mod_proxy_balancer e mongrel_cluster, por isso resolvi escrever um.
Os comandos a seguir foram testados em um Ubuntu 7.04 Server Edition, mas devem servir para qualquer distro Debian-based.
Será necessário ter instalado os seguintes programas:
- Apache 2.2.x
- mod_proxy_balancer
- mongrel
- mongrel_cluster
- Ruby
- Rails
Continue lendo...
Tags:ruby