Artigos publicados em Fevereiro de 2008

Trocando de tema - outra vez

Por Carlos Brando em 16 de Fevereiro de 2008

Mais uma vez troquei o tema do blog. Eu estava tendo muitos problemas com o tema anterior para fazê-lo funcionar no IE6 e no Safari, de forma adequada. E como desenvolvedor web que sou, não posso correr o risco de alguém entrar no meu site e vê-lo todo quebrado.
Desta vez o tema escolhido é mais [...]

Testando fusos-horários no Edge Rails

Por Carlos Brando em 16 de Fevereiro de 2008

Eu tinha me esquecido de comentar sobre isto, mas na próxima versão do Rails poderemos realizar testes com fusos-horários diferentes de um uma forma bem simples:
def test_local_offset
with_env_tz ‘US/Eastern’ do
assert_equal Rational(-5, 24), DateTime.local_offset
end
with_env_tz ‘US/Central’ do
assert_equal Rational(-6, 24), DateTime.local_offset
end
end
Este helper era [...]

When, a Rails plugin

Por Carlos Brando em 15 de Fevereiro de 2008

“When, a Rails plugin“, é um daqueles plugins que devem acabar sendo incorporados ao código do Rails. Assim como o das “Sexys Migrations”.
Com este plugin você pode fazer isto:
before_filter :authorize, :unless => logged_in?
E pelo visto, já era intenção do core team fazer algo assim.

Fevereiro com 28 ou 29 dias?

Por Carlos Brando em 15 de Fevereiro de 2008

Faça o teste agora mesmo, se você executar o método Time.days_in_month para recuperar a quantidade de dias em fevereiro, sem informar o ano, ele retornará 28. Já que você não passou o ano, o Rails retorna isto como padrão. Mas este ano temos 29 dias em fevereiro… Este método foi alterado para a próxima versão [...]

Edge Rails: Mais TimeZone e Prototype

Por Carlos Brando em 15 de Fevereiro de 2008

Você pensou que as alterações no TimeZone tinham acabado? Está enganado.
Prototype
Element#writeAttribute foi corrigido para trabalhar com cellspacing e cellpadding no Internet Explorer.
TimeZone
Os métodos in_current_time_zone e change_time_zone_to_current da classe Time foram alterados para retornarem self quando o Time.zone for nulo.
Além disso o método TimeZone#now também foi alterado para retornar um ActiveSupport::TimeWithZone representando a hora corrente no [...]

Rails Podcast Brasil - Episódio 5

Por Carlos Brando em 14 de Fevereiro de 2008

Mais um episódio do meu, do seu, do nosso Rails Podcast Brasil está no ar. Para ouvir basta acessar a página do poscast e fazer o download do arquivo mp3.
Esta semana falamos sobre rubinius, mais um pouco sobre GIT, resource_controller, Heroku, Mac e os poderes da pasta de dente.
Neste episódio:

Yahoo! rejeita oficialmente proposta de compra [...]

Edge Rails: Mais alterações no TimeZone

Por Carlos Brando em 13 de Fevereiro de 2008

Pelo visto o formato atual de se trabalhar com TimeZones estava incomodando bastante gente, porque muita coisa está sendo alterada ou melhorada neste ponto no Rails.
O método formatted_offset foi incluído nas classes Time e DateTime para retornar no formato +HH:MM o desvio da hora UTC. Por exemplo, em nosso fuso-horário (hora de Brasília) o desvio [...]

Edge Rails: Fuso-horário muito mais simples

Por Carlos Brando em 11 de Fevereiro de 2008

Criar um software para a internet não é fácil, principalmente quando seus usuários estão espalhados por todo o mundo. Um dos maiores desafios neste caso é manipular fusos-horário. Hoje no Rails isto não é um bicho de sete cabeças graças a plugins como o TZInfo. Mas pelo visto este não é um problema só seu, [...]

Mime types agora podem ser comparados com símbolos

Por Carlos Brando em 09 de Fevereiro de 2008

Atualmente no Rails você pode atribuir ao request.format um mime type usando um símbolo. Por exemplo:
request.format = :iphone
Mas por outro lado, você não pode determinar o mime type atribuído ao request.format usando um símbolo. Duh… O código abaixo falharia:
request.format = :iphone
assert_equal :iphone, request.format
No Edge Rails este problema já foi resolvido, permitindo que você use tanto [...]

Rails Podcast Brasil – RSS Feed

Por Carlos Brando em 08 de Fevereiro de 2008

Bom, o site novo do podcast ainda não está pronto, estou meio enrolado com algumas coisas aqui, e não consegui terminar. Mas para provar que a comunidade Rails é a comunidade mais unida e pró-ativa que existe, o Rodrigo Urubatan deu um jeitinho de descolar um RSS Feed para o podcast.
O endereço: http://feeds.feedburner.com/RailsPodcastBrasil

É um feed [...]

Edge Rails: belongs_to agora suporta dependências

Por Carlos Brando em 08 de Fevereiro de 2008

Na versão atual do Rails associações belongs_to ignoram qualquer opção passada usando :dependent. Mas à partir da nova versão você poderá usar :dependent => :destroy e :delete em associações belongs_to.
Exemplos:
belongs_to :author_address
belongs_to :author_address, :dependent => :destroy
belongs_to :author_address_extra, :dependent => :delete, :class_name => “AuthorAddress”
E para aqueles que acham que isto não faz sentido, lembrem-se que o belongs_to [...]

Reconhecimento de rotas até 6 vezes mais rápido

Por Carlos Brando em 07 de Fevereiro de 2008

A implementação atual do reconhecimento de rotas percorre todas as rotas, uma-a-uma, e isto consome muito tempo. Uma nova implementação foi incluída no trunk do Rails (Edge Rails) e é mais inteligente, ela monta uma árvore de rotas e reconhece as rotas pelo prefixo, pulando rotas semelhantes. Só isto já diminui em aproximadamente 2.7 vezes [...]

Rails para desenvolvedores PHP

Por Carlos Brando em 07 de Fevereiro de 2008

Mais um livro da The Pragmatic Programmers. O livro foi escrito por Derek DeVries e Mike Naberezny, dois experientes programadores PHP, Ruby e Rails. Em formato PDF custa 22 dólares.
Inclusive os autores tem um site bem interessante sobre o tema, cheio de comparações com exemplos de código e tabelas mostrando as diferenças entre as linguagens [...]

Rails Podcast Brasil - Episódio 4

Por Carlos Brando em 07 de Fevereiro de 2008

http://www.rubyonrails.pro.br/podcasts
Mais um episódio do seu programa favorito sobre Rails…
Neste episódio comentamos sobre JRuby, Merb, Social Graph API, TextMate, mais uma vez sobre Zed Shaw e no final uma aula sobre Git.
Neste episódio:

rubybr.reddit.com
Microsoft oferece USD$ 44,6 bilhões pela Yahoo!
Dica De Sysadmin Para Quem Tem VPS
FastCGI E Authenticate_or_request_with_http_basic
Ruby 1.9 Presentation
Ruby 1.9 Comparison App
Rede Parede
Grails Goes 1.0
21 [...]

Edge Rails: Use um alias para declarar o map.root

Por Carlos Brando em 05 de Fevereiro de 2008

Agora na hora de informar o map.root você pode ser um pouco mais DRY usando um alias para isto. Se antes você fazia assim:
map.new_session :controller => ’sessions’, :action => ‘new’
map.root :controller => ’sessions’, :action => ‘new’
Agora você pode fazer assim:
map.new_session :controller => ’sessions’, :action => ‘new’
map.root :new_session
Ou assim:
map.dashboard ‘/dashboard’, :controller=>’dashboard’
map.root :dashboard

O método composed_of você já conhece. Veja este caso como exemplo:
class Account < ActiveRecord::Base
composed_of :balance, :class_name => “Money”, :mapping => %w(balance amount)
end
A partir de agora, você pode passar um objeto Money como parâmetro no método find da classe Account, assim:
amount = 500
currency = “USD”
Account.find(:all, :conditions => { :balance => Money.new(amount, currency) })

Edge Rails: Uma nova estratégia para o Eager Loading

Por Carlos Brando em 02 de Fevereiro de 2008

Para explicar esta nova funcionalidade vou precisar mostrar na prática. Vamos pegar como exemplo o código abaixo:
Author.find(:all, :include => [:posts, :comments])
Estou fazendo uma pesquisa na tabela authors, mas incluindo na minha query as tabelas posts e comments, relacionado-as pela coluna author_id. Para entender melhor veja a query gerada pelo Rails:
SELECT
authors.”id” [...]

Propaganda:

Últimos Artigos

SQLite3-Ruby 1.2.4 28/08/2008
Carlos Brando

SQLite3-Ruby 1.2.4

Jamis Buck acabou de anunciar o lançamento da versão 1.2.3 do gem SQLite3-Ruby. Entre as novidades está uma correção nas permissões dos arquivos[...] Leia Mais »