O que esperar do próximo iPhone
A TI deve confiar nos dispositivos móveis?
Plantronics cria comunidade de desenvolvedores
Guia de salários: gerentes de bancos de dados recebem até R$ 8,7 mil
Microsoft: Windows 8 chegará no final deste ano
Ah, Facebook, por que não consigo lhe largar?
4G Americas: saiba o que as operadoras devem fazer para atender demanda por dados
ATUALIZADA - Brasil: veja a lista de dispositivos que serão atualizados para Android 4.0
EMC lança mais de 40 produtos entre hardwares e softwares
Forrester: preparem-se para a segunda onde de aplicativos móveis
ATUALIZADA - Fique por dentro da compra da Motorola Mobility pelo Google
Windows Phone 7: usuários não poderão baixar apps do Marketplace

Módulos em Ruby são grupos de métodos, constantes e variáveis de classes. Os módulos não podem ser instanciados e não existe herança de módulos.
Há duas maneiras de usar os módulos:
Nest post falarei somente sobre o uso de módulos como namespaces.
Bons motivos para usar namespaces são:
Então vamos a um exemplo.
Imagine uma loja virtual que utiliza duas empresas de envio de mercadorias: Correios e FedEx. Para essas duas empresas é feito o cálculo de frete, utilizando as informações dos produtos nos pedidos dos clientes, no carrinho de compras da loja.
Então teríamos duas classes de cálculo de frete, uma para os Correios e outra para FedEx. Não podemos ter duas classes com o mesmo nome, por exemplo uma classe chamada Frete, então criamos dessa forma:
Com namespaces, você consegue uma maneira mais organizada de nomear essas classes:
No código acima, criamos o módulo Frete e dentro do módulo as classes Correios e Fedex.
Para instanciar uma classe com namespace, utilize o sintaxe NomeDoModulo::NomeDaClasse.new, como no código abaixo:
Os módulos podem também ter constantes. Vamos criar um constante de peso mínimo no nosso módulo Frete:
Uma constante em um módulo é acessível fora do módulo utilizando a sintaxe NomeDoModulo::NOME_DA_CONSTANTE. Dentro do módulo, e consequentemente das classes que estão no módulo, pode-se usar a constante sem o prefixo do nome do módulo. Vejo exemplo da constante PESO_MINIMO:
Não necessariamente você precisa criar todas as classes aninhadas de um módulo em um arquivo só. Para o nosso exemplo, poderíamos ter um arquivo para o módulo e também um arquivo para cada classe.
Outra maneira de declarar namespaces é colocar o nome do módulo, seguido de :: (4 pontos), antes do nome da classe.
No próximo post falarei sobre o uso de módulos como mixin.
Desenvolvedor sênior na Locaweb, Fernando Hamasaki de Amorim atua em projetos utilizando Ruby e Rails. Pós-graduado em Tecnologias Web Fiap, trabalha desde 2000 com desenvolvimento web, onde já desenvolveu em várias plataformas e linguagens, como .NET, Java, JavaScript, PHP e ASP. Também foi palestrante do FISL e da RubyConf Brasil. Neste espaço, abordará temas envolvendo o desenvolvimento por meio da linguagem Ruby.
Conscientização e Dicas de Segurança da Informação
Anderson Santana
Artigo: Proteção de Dados
Dirty & Ugly Web
Paulino Michelazzo
Caiu na rede
Internet Upgrade
Victor Maeda
Ataques DDos aos bancos brasileiros.
Inovação, tecnologia e futurismo
Bráulio Medina
SIRI, MAJEL, EVI - Colhemos os frutos da semântica e inteligência artificial
Mundo RIA
Zaedy Sayão
Construindo Mobile Apps com Sencha Touch e Phonegap - Parte 1