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

Dando continuidade ao post “Um pouco sobre classes”, vamos incrementar a classe que criamos com acessores e modificadores de atributos.
Primeiro vamos relembrar como ficou nossa classe Dog:
Depois que criamos uma instância de Dog, passando um nome e uma raça, não conseguimos recuperar esses valores individualmente.
Para fazer isso, vamos criar método acessores que irão retornar os valores das variáveis de instância @name e @breed.
E então chamamos os novos métodos:
Agora, além de recuperar, queremos também configurar o nome e a raça, criando mais dois novos métodos que atribuem valores para as variáveis de instância @name e @breed:
E chamando os novos métodos:
Um tanto estranho essas chamadas de método, não? Vamos melhorar um pouco. Primeiro vamos omitir os parentêses:
Agora colocar um espaço antes do “=”:
Bem melhor, não? Dessa forma a impressão que temos é que os valores estão sendo atribuídos diretamente para name ou breed, quando na verdade continuamos chamando os mesmos métodos anteriores. Mas como é possível chamar os métodos dessa forma?
Para facilitar a legibilidade do código em Ruby, há algumas exceções de sintaxe, conhecidas como Syntatic Sugar. Uma delas é poder chamar um método que termine com “=” colocando um espaço entre o nome do método e o “=”. E como os parentêses são opcionais nas chamadas de métodos, ao invés de:
Podemos usar:
Como a criação desses métodos acessores e modificadores (getters and setters) é bastante comum, Ruby fornece um recurso para automatizá-la. Os métodos attr_reader e attr_accessor podem ser chamados dentro da definição de uma classe. Eles recebem um ou mais nomes de métodos no formato de símbolos como parâmetro.
O attr_reader irá criar método acessor do atributo e o attr_accessor irá criar tanto o método acessor quanto o modificador do atributo. Esses dois métodos também irão criar variáveis de instância para os atributos passados.
Na nossa classe Dog, vamos utilizar o attr_accessor para name e breed:
E o uso dos métodos criados:
Para finalizar, o código completo de como ficou a classe Dog:
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