Google: alcance se puder
Pesquisa aponta analista de dados como profissão promissora
Boundary rastreia desempenho de aplicativo, mesmo em AWS
7 habilidades decisivas para ser contratado em TI
Google diz que consumidores com smartphones gastam mais
O futuro chegou (de novo)
Ataques cibernéticos têm poder de bombas nucleares, afirma general chinês
Cuidado com os mitos de segurança dos aplicativos web
Hackers LulzSec recebem sentença em Londres
Surface Pro, da Microsoft, vence iPad em teste
Internet das coisas: um chamado para as empresas
Google Now se mistura ao iOS

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.
Blog Teste
Eric Ouchi
Teste
Diário de um Campuseiro
Rafael de Souza Mota
Diário de um campuseiro: abertura oficial da #CPBR13
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.