Formatando datas no Ruby on Rails
31/08/07
Imagine que você tenha um campo datetime e que você queira exibir logo abaixo de um post de blog. Você poderia criar um helper para fazer isso:
class PostsHelper
def post_date(date)
# formatting date: Aug, 31 2007 - 9:55PM
date.strftime("posted on %b, %m %Y - %H:%M")
end
end
E em seu template poderia chamar algo como:
<%= post_date @post.created_at %>
Você também poderia fazer esta formatação no modelo, utilizando o método after_find:
class Post < ActiveRecord::Base
private
def after_find
self.created_at = created_at.strftime("posted on %b, %m %Y - %H:%M")
end
end
Porém, a maneira mais interessante de se formatar datas no Rails, é utilizando o método to_s; tudo o que você precisa fazer é definir um novo formato. Para fazer isso, adicione a seguinte linha ao seu arquivo "environment.rb":
Time::DATE_FORMATS[:post] = "posted on %b, %m %Y - %I:%M%p"
Para exibir a data devidamente formatada, basta chamar o método to_s passando o formato que você quer utilizar.
<%= @post.created_at.to_s(:post) %>
Lembre-se que você pode definir quantos formatos quiser:
Time::DATE_FORMATS[:archive] = "%B/%Y"
Time::DATE_FORMATS[:updated] = "updated on %b, %m %Y - %I:%M%p" - Permalink
- Trackback
- Comentários (7)
- Ao som de: Rancid – The Way I Feel
Google Music Trends com Ruby
10/08/07
O Google tem um serviço interessante chamado Music Trends que, baseado nas informações enviadas pelos usuários que utilizam GTalk, cria um ranking de músicas mais ouvidas. Em alguns países como EUA e Índia é possível até visualizar as estatísticas por estilo musical.
Infelizmente, o Google não possui API para estas estatísticas e, por isso, a única solução para obter tais informações é com scraping. Tendo este problema em mente, fiz uma classe que acessa o Google Music Trends e retorna as informações de maneira bastante simples.
require 'google_music_trends'
trends = GoogleMusicTrends.new
s = "GOOGLE MUSIC TRENDS\n===================\n"
trends.get(:genre => 'alternative & punk', :where => 'USA').each do |item|
s << "Artist: %s\n" % item[:artist]
s << "Song: %s\n" % item[:song]
s << "Rank: #%s\n\n" % item[:rank]
end
puts s
Você precisará ter o Hpricot instalado, então, se você ainda não o tiver, execute o comando gem install hpricot.
A classe está disponível no Subversion. Para pegar a versão mais recente, execute o comando svn co http://svn.simplesideias.com.br/general/ruby/google_music_trends
- Permalink
- Trackback
- Comentários (2)
- Ao som de: Millencolin – Lozin' Must
Ruby para programadores PHP
03/08/07
A maneira mais fácil de se aprender uma nova linguagem é comparando-a com uma linguagem que você já conhece. Pelo menos é assim que faço! Para os que são como eu, aqui vai uma série de comparações/equivalências entre as linguagens Ruby e PHP.
Leia na íntegra »- Permalink
- Trackback
- Comentários (29)
- Ao som de: Hit The Lights – Bodybag
