Mostrando postagens com marcador namespace. Mostrar todas as postagens
Mostrando postagens com marcador namespace. Mostrar todas as postagens

terça-feira, 11 de dezembro de 2012

Módulos e Mixins com Ruby

No post sobre blocos em Ruby, rasguei elogios para a linguagem quanto à versatilidade e simplicidade. Neste post vou pular essa parte (que acredito estar implícita) e falar sobre módulos e mixins em Ruby.

Assim como os blocos, os módulos também estão presentes em toda parte no código de uma aplicação desenvolvida com Ruby on Rails. O framework Rails faz amplo uso dessa facilidade da linguagem Ruby para disponibilizar funcionalidades por todas as camadas da aplicação, o que também pode ser explorado pelo desenvolvedor em funcionalidades próprias.

Para quem vem da linguagem Java, módulos podem se parecer com as interfaces, no entanto, diferem em aspectos fundamentais.

terça-feira, 4 de dezembro de 2012

Simplificando TDD com FactoryGirl

Com o conceito de Extreme Programming (XP), publicado em 1999 por Kent Beck, surgiu também o conceito de Test Driven Development (TDD), que propôs a elaboração de códigos de testes antes da implementação efetiva da aplicação.
Os testes sendo implementados primeiro são então seguidos pela implementação da funcionalidade que os faça passar. Com isso, desde seu início até a implementação de suas últimas funcionalidades, o software estará o máximo possível coberto por testes que garantam sua estabilidade e confiabilidade. Uma grande vantagem é a possibilidade de sempre poder realizar refatorações no código, bastando garantir que os testes continuem passando, mantendo assim um código limpo e de alta qualidade e manutenibilidade.

Mas o objetivo aqui é falar da FactoryGirl, uma RubyGem criada pela thoughtbot que simplifica o desenvolvimento de TDD em Rails, sendo uma alternativa ao uso de fixtures.

segunda-feira, 12 de novembro de 2012

Roteamento de Resources em Rails

Rails Routing, traduzindo e explicando, é a forma como o framework Rails infere a rota até a ação de um controlador através da URL no browser e do método HTTP (GET, POST, PUT ou DELETE).
Conforme já mencionei no post sobre múltiplos bancos de dados, o Rails segue o padrão de convention over configuration. As convenções assumidas para o roteamento vão servir para a grande maioria dos casos, mas customizar o roteamento em sua aplicação é fácil e extremamente flexível.