Artigos publicados em Maio de 2008

Edge Rails: action_name

Por Carlos Brando em 15 de Maio de 2008

Agora para saber qual action foi chamada durante a execução de sua view ficou mais fácil, basta usar o método action_name:
<%= action_name %>
O retorno será o mesmo que pegar o params[:action], mas de uma forma mais elegante.

Tradução do Why’s (Poignant) Guide to Ruby no Twitter

Por Carlos Brando em 14 de Maio de 2008

Acompanhe a tradução do livro Why’s (Poignant) Guide to Ruby pelo Twitter!
Clique aqui.

The Autotest Notification Gem

Por Carlos Brando em 14 de Maio de 2008

This gem set the autotest (ZenTest) to send messages to software as Growl, LibNotify, and Snarl, displaying a window with the results.
http://github.com/carlosbrando/autotest-notification/
Requirements
Independent of operating system you are using, you must install the ZenTest.
gem install ZenTest
If you’re using a Mac
You need to have Growl and growlnotify installed on your machine.
Download the Growl and install it like [...]

Se me perguntarem quais são os melhores livros sobre Ruby, o livro Why’s (Poignant) Guide to Ruby com certeza estará na minha lista.
Este post é uma convocação. Vamos traduzir o livro. O Akita já explicou como isto vai funcionar no blog dele, então não vou repetir. Vamos usar o GitHub para isto, então crie uma [...]

Dreamhost agora aceita mod_rails

Por Carlos Brando em 13 de Maio de 2008

Simples assim:

Autotest Notification Gem - Pode ajudar?

Por Carlos Brando em 13 de Maio de 2008

Interessante como uma coisa simples pode mobilizar as pessoas. Tudo começou com um simples script para exibir uma janela com o retorno dos testes no Mac usando o Growl.
Depois o Alexandre adaptou o script para também funcionar no Linux usando o LibNotify.
Resolvemos então que seria legal ter este script em algum lugar mais acessível, onde [...]

Edge Rails: Definindo a localização de seu arquivo de rotas

Por Carlos Brando em 13 de Maio de 2008

No Rails 2.1 você poderá definir em que arquivo estão suas rotas incluindo a seguinte linha no seu arquivo environment.rb:
config.routes_configuration_file
Isto pode ser útil em um cenário onde você tem dois front-ends separados que usam os mesmos módulos, bibliotecas e plugins.
Por exemplo, getsatisfaction.com e api.getsatisfaction.com compartilham os mesmos modelos, mas não os controllers, helpers e views. [...]

Edge Rails: flash.now agora funciona em testes

Por Carlos Brando em 13 de Maio de 2008

Também já quebrei a cabeça por causa disto. O problema é que durante os testes você nunca podia confirmar se uma mensagem foi armazenada no flash, porque ela era limpa pelo Rails antes de cair no seu script de teste.
No Rails 2.1 este problema foi resolvido. Agora você pode incluir linhas como esta em seus [...]

Edge Rails: label_tag agora aceita :for

Por Carlos Brando em 13 de Maio de 2008

Lembra do método label_tag?
Agora ele aceita a opção :for, veja um exemplo:
label(:post, :title, nil, :for => “my_for”)
Isto vai retornar algo assim:
<label for=”my_for”>Title</label>
Hmm… não entendi para que isto…

Edge Rails: ActiveRecord::Base.create aceita blocos

Por Carlos Brando em 12 de Maio de 2008

Já estamos acostumados com o método ActiveRecord::Base.new que aceita o uso de blocos na criação de um novo registro. Agora podemos fazer o mesmo com o método create:
# Criando um objeto, usando um bloco para informar seus atributos.
User.create(:first_name => ‘Jamie’) do |u|
u.is_admin = false
end

Também podemos usar o mesmo método para criar vários objetos [...]

Edge Rails: change_table

Por Carlos Brando em 12 de Maio de 2008

Criar migrations ficou muito mais sexy depois do lançamento do Rails 2.0, mas alterar uma tabela usando migrations continuou sendo da forma antiga, nada sexy.
No Rails 2.1 (que já está para sair) alterar uma tabela também será sexy, com o novo método change_table. Veja um exemplo:
change_table :videos do |t|
t.timestamps # adiciona as colunas [...]

Autotest Notification Gem

Por Carlos Brando em 12 de Maio de 2008

Vocês já acompanharam aqui no blog a dificuldade que tive para fazer o Autotest funcionar com o Growl. Acho que testei todos os scripts prontos que encontrei pela internet e até alguns gems como o test_notifier do Nando Vieira, mas não sei porque nada funcionou aqui.
Então resolvi botar a mõe na massa e criar o [...]

Rails Podcast Brasil - Episódio 16

Por Carlos Brando em 09 de Maio de 2008

E com vocês mais um episódio do Rails Podcast Brasil, o podcast mais completo da internet sobre Ruby on Rails e assuntos relacionados. Neste episódio falamos durante uma hora sobre Edge Rails, Capistrano, Phusion, acts_as_state_machine, a polêmica Twitter (de novo) e mais…
Para ouvir faça o download aqui.
Neste episódio

Rails gets more mature
Living on the edge (of [...]

Nunca mais esqueça uma senha

Por Carlos Brando em 09 de Maio de 2008

Segurança é tudo! Mas como você faz para lembrar as senhas (diferentes, afinal segurança é tudo) de cada site na internet que você já se cadastrou? A solução está aqui.
Use principalmente para anotar as suas senhas do banco. E para não correr o risco de perder o papel e esquecer suas senhas, tire uma cópia [...]

Autotest + Growl (atualização)

Por Carlos Brando em 09 de Maio de 2008

Para os que estão usando Autotest + Growl, eu fiz mais uma alteração no script de exibição de alertas. Para os interessados, é só clicar aqui.
Dei uma melhorada nele e incluí suporte ao Test::Unit, além do RSpec.

Edge Rails: mem_cache_store agora aceita opções

Por Carlos Brando em 09 de Maio de 2008

A inclusão do Memcache-Client no ActiveSupport::Cache facilitou muito as coisas, mas também removeu a flexibilidade, não deixando personalizar mais nada além do IP do servidor do memcached.
Jonathan Weiss criou um patch, que foi incluído no Rails, incluindo opções extras, como estas:
ActiveSupport::Cache.lookup_store :mem_cache_store, “localhost”

ActiveSupport::Cache.lookup_store :mem_cache_store, “localhost”, ‘192.168.1.1′, :namespace => ‘foo’
ou
config.action_controller.fragment_cache_store = :mem_cache_store, ‘localhost’, {:compression => true, [...]

Edge Rails: Correção de bug no change_column

Por Carlos Brando em 09 de Maio de 2008

Hoje se você tentar usar o método change_column com :null => true em uma coluna que foi criada usando :null => false, simplesmente sua coluna não vai sofrer nenhuma alteração. BUG.
No Rails 2.1 isto já estará corrigido.

GitHub Badge em português (ou qualquer outra língua)

Por Carlos Brando em 08 de Maio de 2008

Na semana passada o Dr. Nic Williams lançou um widget/badge que pode ser colocado em nossos sites para exibir os projetos em que estamos trabalhando no GitHub. Para saber como usar, clique aqui.
Como sou um grande fõ do GitHub, já fui coloando aqui no meu blog. Mas o bendito é todo em inglês, o que [...]

Edge Rails: script/dbconsole

Por Carlos Brando em 08 de Maio de 2008

Esta é quentinha. Acabou de sair…
No Rails 2.1 teremos mais um script para facilitar nossa vida:
script/dbconsole
Ele faz a mesma coisa que o script/console mas para o banco de dados. Em outras palavras ele entra no cliente de linha de comandos do banco de dados. Veja o resultado do meu teste:

Como você pode ver estou usando [...]

Edge Rails: Testando Helpers de forma simples

Por Carlos Brando em 07 de Maio de 2008

Uma coisa muito chata de se fazer hoje no Rails é testar helpers. Eu mesmo já sofri um bocado para garantir 100% de cobertura, criando testes para alguns helpers.
Isto deve ficar mais simples no Rails 2.1 com a nova classe ActionView::TestCase. Vamos pegar o código abaixo como exemplo:
module PeopleHelper
def title(text)
[...]

A força dos comentários no GitHub

Por Carlos Brando em 06 de Maio de 2008

Eu sempre tenho falado por aqui e no podcast sobre o GitHub, é não por menos que este projeto tem me chamado tanto à atenção. Um dos recursos mais legais que vi é a possibilidade de incluir comentários sobre o código de terceiros.
Nos grandes projetos, comentar o código está virando mania. Veja por exemplo [...]

Edge Rails: Timeouts

Por Carlos Brando em 06 de Maio de 2008

O Active Resource usa HTTP para acessar APIs RESTful e por isto está suscetível a problemas de lentidão ou servidores fora do ar. Em alguns casos, suas chamadas ao Active Resource podem expirar (timeout). Agora você pode controlar o tempo de expiração com a propriedade timeout.
class Person < ActiveResource::Base
self.site = “http://api.people.com:3000/”
self.timeout [...]

Edge Rails: smallint, int ou bigint no MySQL?

Por Carlos Brando em 05 de Maio de 2008

O adaptador de MySQL do ActiveRecord ficou um pouco mais esperto na hora de criar ou alterar colunas no banco de dados usando inteiros. De acordo com a opção :limit, ele define se a coluna será um smallint, int ou bigint. Veja um trecho do código que faz isto:
case limit
when 0..3
“smallint(#{limit})”
when 4..8
[...]

Também me rendi ao twitter

Por Carlos Brando em 03 de Maio de 2008

foto de luisdrk
Ok, até agora eu ainda não entendi qual é a do twitter… mas vamos tentar.
Para quem quiser me seguir: http://twitter.com/carlosbrando

Edge Rails: Time.current

Por Carlos Brando em 03 de Maio de 2008

Novo método para a classe Time. O retorno do método current depende do config.time_zone, se ele foi especificado antes, o método retornará um Time.zone.now, caso contrário será um Time.now.
# o retorno depende do config.time_zone
Time.current
Os métodos since e ago também terão seus retornos alterados, devolvendo um TimeWithZone caso o config.time_zone tiver sido especificado.
Isto torna o método [...]

Propaganda:

Últimos Artigos

Rails Summit: Meu emprego foi para os EUA 09/10/2008
Carlos Brando

Rails Summit: Meu emprego foi para os EUA

“MY JOB WENT TO USA (And All I Got Was This Lousy Presentation)” Este é o tema da palestra que estarei realizado no Rails Summit Latin Am[...] Leia Mais »