Assertions no Ruby on Rails
Cheat sheet resumindo a lista de assertions mais conhecidos no RoR.
Cheat sheet resumindo a lista de assertions mais conhecidos no RoR.
Pois é, o ultimo livro que comprei acabou rápido ( terminei de ler até mesmo antes da fatura do cartão de crédito ser emitida. Será que posso devolver o livro ? ). Logo no inicio do The Pragmatic Programmers os autores falam sobre expandir continuamente seu conhecimento, lendo bons livros a todo momento e aprendendo pelo menos uma linguagem de programação nova por ano. Tentando cumprir isso, tomei vergonha pra começar a estudar Ruby on Rails de verdade.
Como gostei muito do estilo usado pelo grupo The Pragmatic Programmers, comprei o livro deles sobre Rails. Já li umas 60 páginas e estou sentindo que vai dar namoro. Provavelmente os posts sobre Rails no blog vão começar aparecer ;-)
Essa dica é velha mas sempre é útil:
__get( $propriedade ) {}
Estoura quando se tenta ler o conteúdo de um atributo que não exista na sua classe. O parâmetro que ela recebe sempre será o nome da atributo inexistente.
Por exemplo:
class casa {
function __get( $propriedade ) {
throw new Exception("A propriedade $propriedade não existe no objeto " . get_class($this) );
}
}
__set( $propriedade, $valor ) {}
Exatamente como a de cima, porém, como é de se perceber, só estoura quando se tenta atribuir algum valor a um atributo inexistente. O primeiro o parâmetro é o nome do atributo, o segundo o valor. Acho que não precisa de exemplo neh ? Qualquer coisa adapte o de cima....
__call( $metodo , $argumentos ) {}
Este útimo serve para a chamada de métodos inexistentes... O primeiro parâmetro, obviamente é o nome do método e o segundo parâmetro é um array com os valores passados como parâmetros.
Isso mesmo, o primeiro livro de RoR 2.1 é tupiniquim. Graças ao trabalho de Carlos Brando e Marcos Tapajós .
Para baixar, clique aqui.
Fala pessoal...
Esse final de semana tirei algumas horas para estudar Ruby on Rails. Como não tenho um vasto conhecimento na plataforma, não vou me deixar guiar pelas poucas coisas que vi. O que posso dizer é que até então tenho gostado.
Configurando no Windows
Mesmo estando on Windows, achei a configuração do ambiente de desenvolvimento extremamente simples. Basta baixar a ultima versão do Ruby no próprio site do RoR e realizar alguns passos simples. Depois de rápidos next > next >finish, o Ruby teoricamente estará instalado. Basta agora instalar o framework Rails, abrindo o console do windows e digitando:
Pronto! Ruby e Rails instalados. Para criar um "hello world", basta agora criar uma pasta em algum lugar ( de preferência via Console ) e logo após, dar um rails "nome a aplicação". Mais ou menos assim:
Para criar um primeiro controle para sua aplicação, entre no diretório do projeto ( no meu caso hello ) e, via prompt, faça o seguinte:
Agora é hora de criarmos alguma ação para o novo controler. Que tal sairmos um pouco do maldit... ehrr... bom, quero dizer, adorável Console do Windows ? A própria instalação do Ruby já nos deixa com o SciTE, um editor de textos bacana. Se preferir uma IDE, uma dica é começar utilizando o Aptana RadRails ( plugin para o Eclipse ). Se você seguir o mesmo caminho que eu, terá que baixar o Aptana Studio ( já com o Eclipse ) e depois fazer uma pequena atualização para o RadRails - que aparecerá automaticamente no startup do Aptana.
Depois vá na pasta app/controllers e abra o controle criado - no nosso caso o helloworld. O nome do file sempre fica nomedocontrole_controller.rb . A estrutura do arquivo será identico a seguinte:
class HelloworldController < ApplicationController
end
Temos o declarador class seguido pelo nome do controle, o "<" indicando herança, o nome da classe Pai e o end finalizando a classe. Vamos criar o método dummie. Agora seu arquivo deve ficar da seguinte maneira:
class HelloworldController < ApplicationController
def dummie
end
end
Já é o suficiente. Vamos agora para a visão. Dentre a estrutura de diretórios, existe um chamado views. Se você abrir este diretório, notará que existe um subdiretório com o nome do seu novo controle - isso não é magia, é pura tecnologia. Agora, crie um aquivo com a extensão rhtml que será a visão do seu controle. Como o nome da ação que criamos é dummie, logo, o nome da visão será dummie.rhtml . Esse arquivo será automaticamente chamado pelo RoR, quando o método dummie do controle for chamado. Como ele será a parte html da sua aplicação web, escreva alguma coisa para estar no browser.
Agora é só rodar. Para isso, retorne ao console e, dentro do diretório da sua aplicação, digite:
//]]>