Effective Scaffold for Rails
September 3rd, 2008 • IN PORTUGUESE
Generators são importantes ajudantes na maneira como desenvolvemos aplicações Ruby on Rails. Facilitam muito o trabalho, além de agilizar tarefas repetitivas.
Scaffold é um generator bastante conhecido, principalmente por railers iniciantes. Através deste é possível criar toda a sistemática de um CRUD para a sua aplicação
Algum tempo atrás, o script padrão foi alterado para o scaffold RESTful, que quando utilizado gera toda a estrutura para um CRUD RESTful.
Porém, nem todo o código gerado é utilizado. Um bom exemplo disso são as chamadas RESTful envolvendo XML. Caso os recursos da sua aplicação devam se comunicar em XML pode ser interessante utilizar o scaffold para gerar este código, porém a grande maioria das aplicações utilizam somente a interface HTML. Não oferecem nenhum tipo de API de acesso aos dados. Com isso o código gerado pelo scaffold - para comunicação via XML - fica inutilizado, porém ativo. Servindo apenas para cair no esquecimento e servir de acesso a usuários maliciosos atrás de alguma vulnerabilidade do seu sistema.
Nos meus últimos projetos em Ruby on Rails, percebi que eu já não utilizava mais o scaffold, para evitar o excesso de código gerado e diminuir as minhas preocupações com segurança.
Resolvi então criar o meu próprio generator, baseado nas minhas necessidades. E só agora tive tempo para publicá-lo no Github.
Para instalar é muito simples:
script/plugin install git@github.com:felipemesquita/effective_scaffold.git
Para utilizar o generator:
script/generate effective_scaffold MODEL
Espero que possa ser útil a você. Sinta-se a vontade para adaptá-lo conforme suas necessidades.
