Pequenas idéias, grandes soluções.

Comunicação, Simplicidade, Feedback e Coragem.

Archive for Abril 2009

Ruby on Rails e o novo método touch

com 2 comentários

Recentemente foi adicionado ao Rails o método touch, disponível tanto no Rails 2.3 quanto no Edge (em direção ao 3.0). O touch atualiza o campo updated_at/updated_on do model e então salva o registro. Ele também permite a passagem de um parâmetro, que identifica outro campo data/hora para ser atualizado no lugar de updated_at/updated_on.  Touch quer dizer exatamente isto: tocar o registro, ou atualizar um determinado campo com a data/hora atual.

Utilizando o método:

class Project < ActiveRecord::Base
  validates_presence_of :name
end

# No console
project = Project.create(:name => 'Meu primeiro projeto')
#<Project id: 1, name: "Meu primeiro projeto",
#  created_at: "2009-04-21 05:35:22", updated_at: "2009-04-21 05:35:22">
# Atualizando o campo updated_at no momento que for necessário
project.touch
# true
project
#<Project id: 1, name: "Meu primeiro projeto",
#  created_at: "2009-04-21 05:35:22", updated_at: "2009-04-21 05:40:49">

Preste atenção ao campo updated_at e verifique que ele foi atualizado com sucesso. Podemos também passar o campo que desejamos “tocar”:

project.touch(:created_at)
# true
project
#<Project id: 1, name: "Meu primeiro projeto",
#  created_at: "2009-04-21 05:42:31", updated_at: "2009-04-21 05:42:31">

Veja que agora foi o campo created_at que foi atualizado (nesse caso o updated_at também foi atualizado por ser uma funcionalidade interna do Rails).

Agora vem o mais interessante: essa funcionalidade foi também adicionada a associação belongs_to, onde é possível passar a opção :touch => true para atualizar o campo updated_at/updated_on do model master automaticamente, ou então passar um símbolo, como :touch => :campo_a_atualizar, para “tocar” este campo específico ao invés do padrão.

Vejamos como fica:

class Project < ActiveRecord::Base
  has_many :tasks
  validates_presence_of :name
end

class Task < ActiveRecord::Base
  belongs_to :project, :touch => true
end

# No console
project = Project.first
#<Project id: 1, name: "Meu primeiro projeto",
#  created_at: "2009-04-21 05:42:31", updated_at: "2009-04-21 05:42:31">
# Checagem de sanidade
project.updated_at
# Tue, 21 Apr 2009 05:42:31 UTC +00:00
# Criando uma tarefa
project.tasks.create(:name => 'Primeira tarefa')
#<Task id: 1, name: "Primeira tarefa", project_id: 1,
#  created_at: "2009-04-21 05:49:41", updated_at: "2009-04-21 05:49:41">
project.reload.updated_at
# Tue, 21 Apr 2009 05:49:41 UTC +00:00

Novamente atenção ao campo updated_at do model Project: atualizado =).

É isso, uma mudança simples que facilita bastante o dia-a-dia.

Lembrando que para testar os método touch é necessário ter a última versão do rails 2.3 disponível no git.

Escrito por Carlos

Abril 21, 2009 em 6:10 am

Publicado em Ruby on Rails

Etiquetado com , ,

GitHub Issue Tracker

com um comentário

O GitHub lançou ontem o seu próprio issue tracker, que permite gerenciar todos os issues do projeto em uma interface simples, rica, dinâmica, e o principal: totalmente integrada ao github.

Através dela é possível gerenciar as tarefas, criar labels, priorizar o que deve ser feito através de drag/drop, pesquisar e ordenar conforme for necessário, e uma das características que achei mais interessante: é possível votar no que gostaríamos que fosse desenvolvido primeiro.

Além de tudo isso, creio que o que mais chamará a atenção de todos é a integração facilitada com o github: é possível fechar um issue através da mensagem de commit do git. Quando é feito o push para o github ele processa a mensagem e automaticamente fecha a tarefa relacionada. Para isso basta adicionar ao final da mensagem de commit: Closes #1, ou Closes GH-1, ou ainda em minúsculo Closes gh-1. Esse tipo de integração facilita bastante.

Bom.. Será que o Lighthouse está com seus dias contados?

Confiram o post original e assistam ao pequeno screencast mostrando as novas funcionalidades.

Escrito por Carlos

Abril 16, 2009 em 11:19 pm

Publicado em Software Livre, Tecnologia

Etiquetado com

Be on The Net

sem comentários

Na semana passada o Vinícius Teles da Improve It fez um post pedindo uma ajudinha para divulgar o seu projeto do Be on the Net.

Para quem não conhece, o Be on the Net é um site criado especialmente para fotógrafos que permite a utilização de fotos e vídeos de qualquer tamanho e qualidade, e que o ajuda a aparecer mais nas buscas do google, além de ter uma facilidade enorme de navegação, dentre outras funcionalidades e pontos positivos. Para conhecer mais sobre o projeto (e se encantar com o trabalho da Improve It, assim como eu) entre no site do Be on the Net.

Bom, como não tive muito tempo para criar um post fazendo a minha parte quanto à divulgação do Be on the Net no primeiro momento, estou aproveitando agora o lançamento oficial do selo promocional para divulgar o projeto:


Crie um site em 24h com o Be on the Net

Abraço a todos.

Escrito por Carlos

Abril 16, 2009 em 7:43 pm

Publicado em Ruby on Rails, Tecnologia

Etiquetado com ,

Rails Guides: agora em português

sem comentários

Ontem a Comunidade Rails brasileira recebeu uma maravilhosa notícia: o lançamento oficial dos Rails Guides na versão traduzida.

Não vou me extender falando sobre o projeto, pois isso já foi feito pelo Cássio Marques,  o Daniel Lopes, o Fábio Akita e também no site do Ruby Inside Brasil (e provavelmente em mais alguns blogs que não tive tempo de olhar ainda…).

Parabéns a toda a equipe responsável pelo projeto.

Confira os guias aqui.

Escrito por Carlos

Abril 11, 2009 em 7:37 pm

O (comovente) guia de Ruby do Why

sem comentários

Acabo de ler uma ótima notícia vinda do blog do Carlos Brando: acabam de liberar a versão 1.0 da tradução do guia de Ruby do Why.

O guia é realmente ótimo, bem fácil de seguir e entender os exemplos. Recomendo a todos.

Parabéns a toda a equipe de tradução/revisão pelo ótimo trabalho.

Para acessar o guia clique aqui.

Escrito por Carlos

Abril 9, 2009 em 3:12 am

Publicado em Ruby, Software Livre

Ganhe o novo livro de Rails do Urubatan

sem comentários

Como muitos já devem saber o Rodrigo Urubatan lançou o livro Desenvolvimento Fácil e Rápido de Aplicações Web com Ruby on Rails, e agora em conjunto com o Ruby Inside Brasil irão sortear duas cópias do livro para a comunidade.

Para participar do sorteio é muito fácil: basta postar um comentário no artigo do Ruby Inside Brasil. Outro modo de aumentar as chances de ganhar é publicar uma mensagem no twitter linkando o artigo original do sorteio, com a hashtag #ri_urubatan.

O resultado da promoção sai pelo próprio site do Ruby Inside Brasil, no dia 9, quinta-feira.

Confira o artigo original aqui e boa sorte!

Escrito por Carlos

Abril 6, 2009 em 4:40 pm