Pingado com Ruby 2

Publicado por Carlos Brando em 30 de Outubro de 2007

504384364_4812cfa056.jpg

Precisei fazer isto agora pouco e como eu sei que pouca gente deve conhecer isto, resolvi postar. O software em que eu estou trabalhando no momento roda offline e realiza um sincronismo com o servidor quando está online. Eu precisava então criar um método para verificar a conexão no momento.

Como eu também nunca tinha precisado disto antes, fui pesquisar no Google, e no primeiro site que entrei descobri que nas bibliotecas padrões do Ruby já existe o que precisamos.

Veja como é simples:

require 'ping'

def is_online?
  Ping.pingecho "google.com", 5, 80
end

É, e tem gente que ainda não ama Ruby…

Um novo logo para o Ruby 2

Publicado por Carlos Brando em 29 de Outubro de 2007

ruby-logo.jpg

O Ruby Association, um grupo de evangelização do Ruby presidido pelo próprio Yukihiro “Matz” Matsumoto, escolheu o novo logo que irá representar a linguagem Ruby.

O logo foi feito por Tom Schaub e está licenciado sob a Creative Commons.

Mais detalhes podem ser encontrados aqui.

O que vem por aí? Novidades nas Fixtures 1

Publicado por Carlos Brando em 27 de Outubro de 2007

A partir da próxima versão do Rails teremos alguns recursos extras nas famosas fixtures.

Geração de ID's automáticos

Hoje é assim:

george:
  id: 1
  name: George the Monkey 

reginald:
  id: 2
  name: Reginald the Pirate

Cadas uma das fixtures tem dois identificadores, um para o banco (id: 1) e outro para humanos (george, por exemplo). Por que não gerar a primary key automaticamente? Assim criaríamos as nossas fixtures assim:

george: # generated id: 503576764
  name: George the Monkey

reginald: # generated id: 324201669
  name: Reginald the Pirate

A partir da próxima versão do Rails, o ActiveRecord irá até a classe correspondente à fixture e recuperará o campo que representa o primary key, inserindo o registro no banco corretamente.

O ID gerado é uma constante, então nós podemos descobrir o ID de qualquer fixture sem carregar nada, desde que saibamos qual o nome que foi dado ao registro.

Associações entre fixtures através dos nomes

Especificar um relacionamento entre fixtures é problemático e frágil, sem contar a dificuldade para se ler. E já que podemos remover o ID das fixtures, utilizando somente o nome, também poderemos realizar as associações diretamente pelo nome, assim:

### pirates.yml
reginald:
  name: Reginald the Pirate
  monkey: george 

### monkeys.yml
george:
  name: George the Monkey
  pirate: reginald

E se tivermos um relacionamento has_and_belongs_to_many podemos fazer assim:

### monkeys.yml
george:
  name: George the Monkey
  pirate: reginald
  fruits: apple, orange, grape 

### fruits.yml
apple:
  name: apple 

orange:
  name: orange 

grape:
  name: grape

Muito legal né?

Colunas do timestamp preenchidas automaticamente

Se sua tabela tiver qualquer uma das colunas no formato padrão dos timestamps do Rails (created_at, created_on, updated_at, updated_on), elas serão automaticamente preenchidas com um Time.now.

Se você quiser um valor diferente deste, você vai precisar fazer da forma antiga, preenchendo o valor na fixture.

Suporte aos padrões do YAML

Você com certeza sabe como usar o YAML para reutilizar informações no seu arquivo database.yml. Agora você também pode fazer o mesmo em suas fixtures:

DEFAULTS: &DEFAULTS
  created_on: <%= 3.weeks.ago.to_s(:db) %>   

first:
  name: Smurf
  <<: *DEFAULTS 

second:
  name: Fraggle
  <<: *DEFAULTS

Estas são algumas das novidades que nos aguardam, mas não acabou, muita coisa ainda deve mudar até a versão 2.0. Estou acompanhando de perto…

Tudo isto e mais um pouco pode ser encontrado aqui.

Working with Rails de cara nova 1

Publicado por Carlos Brando em 26 de Outubro de 2007

Orkut? MySpace? Desculpem, mas se me procurarem por lá, podem até me encontrar, mas não sou um usuário ativo. Não sei, mas não gosto muito deste tipo de site comunitário.

Mas quando se fala do WWR (Working With Rails), a figura muda. Este sim é um excelente site, na minha opinião. Todo mundo que programa em RoR está lá, e se não está, deveria.

Já são quase nove mil cadastrados, e eles possuem algumas ferramentas muito legais como os plugins e gems mais usados pela comunidade Rails no mundo, e você ainda pode filtrar por ordem de autoridade na linguagem, ou seja, considerando como mais importante a opinião de pessoas que estão a mais tempo envolvidas com Ruby on Rails que você.

E agora a equipe de desenvolvimento do site, deu uma caprichada na interface e colocou algumas novidades. Vale a pena conferir.

Aproveitando a deixa, que tal recomendar este pobre blogueiro e desenvolvedor por lá? É fácil, é só clicar aqui.

Quer trabalhar com Rails? Que tal trabalhar com David Hansson? 1

Publicado por Carlos Brando em 26 de Outubro de 2007

Costumo sempre acessar o blog da 37signals. Primeiro porque gosto das dicas dadas por eles e segundo, porque é a empresa de David Hansson (criador do Rails).

Acontece que eles estão contratando mais um programador Rails. E aí, vai encarar? Com certeza não é para qualquer um. Mas seria uma experiência interessante trabalhar com nomes pesados da comunidade RoR, não acha?

Para quem estiver interessado, clique aqui para ver mais detalhes da vaga.

Agora, se você não fala inglês ou ainda não está totalmente preparado para trabalhar com Rails, pode tentar algumas das vagas no Carreira TI. (Sim, é propaganda mesmo!)

P.S.: Eu estou muito bem na Surgeworks, obrigado! :)